目录
Day of the Week
题目大意
常规方法
Python代码
Golang代码
C++代码
基姆拉尔森公式
Python代码
Golang代码
C++代码
使用库函数
Python代码
Golang代码
C++代码
Day of the Week Given a date, return the corresponding day of the week for that date.
The input is given as three integers representing the day , month and year respectively.
Return the answer as one of the following values {"Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday"} .
Example 1:
1.Doris 简介 1.1 Doris 概述 Apache Doris 由百度大数据部研发(之前叫百度 Palo,2018 年贡献到 Apache 社区后,
更名为 Doris ),在百度内部,有超过 200 个产品线在使用,部署机器超过 1000 台,单一
业务最大可达到上百 TB。
Apache Doris 是一个现代化的 MPP(Massively Parallel Processing,即大规模并行处理)
分析型(OLAP)数据库产品。仅需亚秒级响应时间即可获得查询结果,有效地支持实时数据分析。
Apache Doris 的分布式架构非常简洁,易于运维,并且可以支持 10PB 以上的超大数据集。
Apache Doris 可以满足多种数据分析需求,例如固定历史报表,实时数据分析,交互式数据分析和探索式数据分析等。
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Hvj6IaqO-1677043665246)(C:\Users\10575\AppData\Roaming\Typora\typora-user-images\image-20230222130351225.png)]
1.2OLAP和OLTP [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-6ICur7Tt-1677043665247)(C:\Users\10575\AppData\Roaming\Typora\typora-user-images\image-20230221140509218.png)]
联机事务处理OLTP(On-Line Transaction Processing) 公司业务系统使用数据库的场景,针对业务系统数据库有大量随机的增删改查高并发速度要快支持事务 [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-pV8Ef3NE-1677043665247)(C:\Users\10575\AppData\Roaming\Typora\typora-user-images\image-20230222130420630.png)]
联机分析处理OLAP(On-Line Analytical Processing) 公司的数据分析使用数据库的场景,对已经生成好的数据进行统计分析一次操作都是针对的整个数据集,只有查这个动作,不会去增删改查询的响应速度相对慢点也能接受并发量要求不是太高 [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-QGK1jH3t-1677043665248)(C:\Users\10575\AppData\Roaming\Typora\typora-user-images\image-20230222130520084.png)]
OLAP和OLTP比较
OLTPOLAP数据源仅包含当前运行日常业务数据整合来自多个来源的数据,包括OLTP和外部来源目的面向应用,面向业务,支撑事务面向主题,面向分析,支持分析决策焦点当下主要面向过去,面向历史(实时数仓除外)任务增删改查主要是用于读,select查询,写操作很少响应时间毫秒秒,分钟,小时,天,这些取决于数据量和查询的复杂程度数据量小数据,MB,GB大数据,TP,PB 常见的开源OLAP引擎
开源OLAP引擎优点缺点技术融合成本易用性使用场景运维成本引擎类型ClickHouse列式存储单极性彪悍保留明细数据分布式集群在线扩展支持不佳运维成本极高高非标协议接口全面高纯列存OLAPDruid实时数据摄入列式存储和位图索引多租户和高并发OLAP性能分场景表现差异大使用门槛高仅支持聚合查询高非标协议接口局限高MOLAPTiDBHTAP混合数据库同时支持明细和聚合查询高度兼容mysql非列式存储OLAP能力不足低SQL标准全面低纯列存OLAPKylin与计算引擎,可以对数据一次聚合多次查询支持数据规模超大易用性强,支持标准sql性能强,查询数据快需要依赖hadoop生态仅支持聚合查·询不支持adhoc查询不支持join和对数据的更新高SQL标准局限高MOLAPDorisGooleMesa+Apache Impa+ORCFile/Parquet主键更新支持Rollup Table高并发和高通图的Ad-hoc查询支持聚合+明细数据查询无外部系统依赖成熟度不够低兼容mysql访问协议全面低HOLAP 1.3使用场景 报表分析 实时看板 (Dashboards) ==》rolap中我给过他一个sql,亚秒级的响应我想要的结果面向企业内部分析师和管理者的报表面向用户或者客户的高并发报表分析(Customer Facing Analytics)。比如面向网站主的站点分析、面向广告主的广告报表,并发通常要求成千上万的 QPS ,查询延时要求毫秒级响应。著名的电商公司京东在广告报表中使用 Apache Doris ,每天写入 100 亿行数据,查询并发 QPS 上万,99 分位的查询延时 150ms。 即席查询(Ad-hoc Query):面向分析师的自助分析,查询模式不固定,要求较高的吞吐。小米公司基于 Doris 构建了增长分析平台(Growing Analytics,GA),利用用户行为数据对业务进行增长分析,平均查询延时 10s,95 分位的查询延时 30s 以内,每天的 SQL 查询量为数万条。统一数仓构建 :一个平台满足统一的数据仓库建设需求,简化繁琐的大数据软件栈。海底捞基于 Doris 构建的统一数仓,替换了原来由 Spark、Hive、Hbase、Phoenix 组成的旧架构,架构大大简化。数据湖联邦查询:通过外表的方式联邦分析位于 Hive、Hudi 中的数据,在避免数据拷贝的前提下,查询性能大幅提升 1.
1. 绘制三维曲面图及其投影图
2. 绘制曲面图
3. 绘制曲面投影图
4. 同时绘制曲面图和投影图,用两个图展示
5. 绘制曲面图
6. 同时绘制曲面图及其二维填色图
数据分析包括探索、清理和转换数据以从中提取有用信息。Python有许多库可以使数据分析变得更容易,例如Pandas、NumPy和SciPy。以下是使用Python进行数据分析的基本步骤:
加载数据:您可以使用Pandas从各种来源加载数据,例如CSV、Excel文件、SQL数据库或API。
探索数据:使用Pandas查看数据及其结构。您可以检查空值、数据类型和摘要统计信息。此步骤有助于更好地了解数据并识别任何问题。
清理数据:您可以使用Pandas处理缺失值、重复值、异常值和不正确的数据。在分析数据之前,数据清理是必不可少的步骤。
转换数据:Pandas提供了一些转换数据的工具,包括筛选、分组、合并和透视。此步骤有助于为分析数据做准备。
分析数据:您可以使用Python库,例如NumPy、SciPy和Pandas进行各种类型的分析,包括统计分析、机器学习和数据建模。
可视化是传达数据洞察力和模式的强大工具。Python有许多数据可视化库,包括Matplotlib、Seaborn和Plotly。以下是使用Python创建可视化的基本步骤:
加载数据:您可以像上面描述的那样加载数据。
选择可视化:选择适当的可视化方式,例如散点图、条形图、热图等。
创建可视化:使用所选库创建可视化,包括选择数据、定义图表类型和自定义图表外观。
自定义可视化:您可以自定义图表的各种特征,包括轴标签、标题、颜色和注释。
保存或显示可视化:一旦您创建和自定义了可视化,可以将其保存到文件或在Jupyter笔记本或其他Python环境中显示。
使用Python进行数据分析和可视化是一个广阔的领域,这仅仅是一个概述。
1. 绘制三维曲面图及其等高线投影图 import matplotlib.pyplot as plt from mpl_toolkits.mplot3d import Axes3D import numpy as np # 创建三维图形 fig = plt.figure() ax = fig.add_subplot(111, projection='3d') # 生成数据 x = np.arange(-5, 5, 0.25) y = np.arange(-5, 5, 0.25) x, y = np.meshgrid(x, y) r = np.sqrt(x ** 2 + y ** 2) z = np.
文章目录 一、柱状图二、竖直柱状图1. 基本的柱状图2. 同位置多柱状图3. 堆叠柱状图 三、水平柱状图1. 基本的柱状图2. 同位置多柱状图3. 堆叠柱状图 四、直方图 plt.hist()1. 返回值2. 添加折线直方图3. 不等距分组4. 多类型直方图5. 堆叠直方图 五、饼状图 pie()1. 百分比显示 percentage2. 饼状图的分离3. 设置饼状图百分比和文本距离中心位置4. 图例 在开始,我们先引入 matplotlib 和 numpy 库。 from matplotlib import pyplot as plt import numpy as np 对基本配置进行设置,将中文字体设置为黑体,不包含中文负号,分辨率为 100,图像显示大小设置为 (5,3)。 plt.rcParams['font.sans-serif'] = ['SimHei'] plt.rcParams['axes.unicode_minus'] = False plt.rcParams['figure.dpi'] = 100 plt.rcParams['figure.figsize'] = (5,3) 一、柱状图 柱状图是一种用矩形柱来表示数据分类的图表。柱状图可以垂直绘制,也可以水平绘制。它的高度与其所表示的数值成正比关系。柱状图显示了不同类别之间的比较关系,图表的水平轴 X 指定被比较的类别,垂直轴 Y 则表示具体的类别值 二、竖直柱状图 matplotlib.pyplot.bar(x, height, width: float = 0.8, bottom = None, *, align: str = ‘center’, data = None, **kwargs) 其参数具体如下含义:x 表示 x 坐标,数据类型为 float 类型,一般是通过 np.
前言 发现很多朋友都想要一些小项目来练手,却找不到从哪里寻找,给大家整理了游戏项目开发源代码汇总。
一、最经典游戏之俄罗斯方块 #include<iostream> #include<math.h> #include<Windows.h> #include<conio.h> #include<ctime> using namespace std; enum DIR { UP, RIGHT, DOWN, LEFT }; time_t start = 0, finish = 0; int _x = 6, _y = 1;//图形生成位置 int map[30][16] = { 0 }; int sharp[20][8] = { {0,0,0,0,0,0,0,0}, //I形 {0,0,0,1,0,2,0,3}, {0,0,1,0,2,0,3,0}, //■形 {0,0,1,0,0,1,1,1}, //L形 {0,0,0,1,0,2,1,2}, {0,0,0,1,1,0,2,0}, {0,0,1,0,1,1,1,2}, {0,1,1,1,2,0,2,1}, //J形 {0,2,1,0,1,1,1,2}, {0,0,0,1,1,1,2,1}, {0,0,0,1,0,2,1,0}, {0,0,1,0,2,0,2,1}, //Z形 {0,0,1,0,1,1,2,1}, {0,1,0,2,1,0,1,1}, //S形 {0,1,1,0,1,1,2,0}, {0,0,0,1,1,1,1,2}, //T形 {0,1,1,0,1,1,2,1}, {0,0,0,1,0,2,1,1}, {0,0,1,0,1,1,2,0}, {0,1,1,0,1,1,1,2} }; class Game { public: int score;//游戏分数 int _id;//图形编号 int top;//最高点高度 int speed;//下落速度 Game(); void showMenu();//显示菜单 void showGround();//显示游戏界面 void gameOver();//游戏结束界面 void Run();//运行游戏 void sharpDraw(int id, bool show = false);//绘制图形 void keyControl();//键盘控制 bool move(int dir, int id);//移动判断 bool downSet(int id);//下落 void Turn(int id);//旋转 void clean();//消行 }; void SetPos(int i, int j)//控制光标位置, 列, 行 { COORD pos = { i,j }; SetConsoleCursorPosition(GetStdHandle(STD_OUTPUT_HANDLE), pos); } int main() { CONSOLE_CURSOR_INFO cursor; GetConsoleCursorInfo(GetStdHandle(STD_OUTPUT_HANDLE), &cursor); cursor.
api接口详解大全?优秀的设计是产品变得卓越的原因设计API意味着提供有效的接口,可以帮助API使用者更好地了解、使用和集成,同时帮助人们有效地维护它每个产品都需要使用手册,API也不例外在API领域,可以将设计视为服务器和客户端之间的协议进行建模API协议可以帮助内部和外部的利益相关者理解应该做什么,以及如何更好地协同工作来构建一个出色的API,今天小编就来聊一聊关于api接口详解大全?接下来我们就一起去研究一下吧!
api接口详解大全 优秀的设计是产品变得卓越的原因。设计API意味着提供有效的接口,可以帮助API使用者更好地了解、使用和集成,同时帮助人们有效地维护它。每个产品都需要使用手册,API也不例外。在API领域,可以将设计视为服务器和客户端之间的协议进行建模。API协议可以帮助内部和外部的利益相关者理解应该做什么,以及如何更好地协同工作来构建一个出色的API。
一、API接口1.什么是API接口
应用程序编程接口(Application Programming Interface,API接口),是应用程序重要的组成部分,就是应用程序对外提供了一个操作数据的入口,这个入口可以是一个函数或类方法,也可以是一个url地址或者一个网络地址。当客户端调用这个入口,应用程序则会执行对应代码操作,给客户端完成相对应的功能。
2.API接口类型
目前市面上大部分公司开发人员使用的接口实现规范主要有:restful、RPC。
RPC( Remote Procedure Call ): 翻译成中文:远程过程调用[远程服务调用]. 从字面上理解就是访问/调用远程服务端提供的api接口。这种接口一般以服务或者过程式代码提供。
服务端提供一个唯一的访问入口地址:http://api.xxx.com/ 或 http://www.xx.com/api 客户端请求服务端的时候,所有的操作都理解为动作,一般web开发时,对应的就是HTTP请求的post请求 通过请求体参数,指定要调用的接口名称和接口所需的参数action=get_all_student&class=301&sex=1m=get_all_student&sex=1&age=22&command=100&sex=1&age=22 接口多了,对应函数名和参数就多了,前端在请求api接口时难找.容易出现重复的接口
RESTful: 翻译成中文: 资源状态转换.(表征性状态转移)
把服务端提供的所有的数据/文件都看成资源, 那么通过api接口请求数据的操作,本质上来说就是对资源的操作了.因此,Restful中要求,我们把当前接口对外提供哪种资源进行操作,就把资源的名称写在url地址。
web开发中操作资源,最常见的最通用的无非就是增删查改,所以restful要求在地址栏中声明要操作的资源是什么。然后通过http请求动词来说明对该资源进行哪一种操作。POST http://www.xxx.com/api/students/ 添加学生数据GET http://www.xxx.com/api/students/ 获取所有学生DELETE http://www.xxx.com/api/students/<pk>/ 删除id=pk的一个学生PUT http://www.xxx.com/api/students/<pk>/ 修改一个学生的全部信息 [id,name,sex,age,]PATCH http://www.xxx.com/api/students/<pk>/ 修改一个学生的部分信息[age]
也就是说,我们仅需要通过url地址上的资源名称结合HTTP请求动作,就可以说明当前api接口的功能是什么了。
Restful是以资源为主的api接口规范,体现在地址上就是资源就是以名词表达。RPC则以动作为主的api接口规范,体现在接口名称上往往附带操作数据的动作。
3.为什么要编写接口文档 为了在团队内部形成共识、防止个人习惯差异引起的混乱,我们都需要找到一种大家都觉得很好的接口实现规范,而且这种规范能够让后端写的接口,用途一目了然,减少客户端和服务端双方之间的合作成本。由于接口所包含的内容比较细,在项目中常常需要使用接口文档。研发人员可以根据接口文档进行开发、协作,测试人员可以根据接口文档进行测试,系统也需要参照接口文档进行维护等。
二、API接口规范1.协议 API与客户端用户的通信协议,推荐使用http协议,同时兼容HTTP,以确保交互数据的传输安全。
2.域名 应该尽量将API部署在专用域名之下。http://api.xxx.com
如果确定API很简单,不会有进一步扩展,可以考虑放在主域名下。http://www.xxx.com/api/
3.版本(Versioning) 推荐将API的版本号放入URL。
http://api.xxx.com/app/v1.0/foohttp://api.xxx.com/app/v1.1/foohttp://api.xxx.com/app/v2.0/foo
另一种做法是,将版本号放在HTTP头信息中,但不如放入URL方便和直观。
版本号规范:1)采用多版本并存,增量发布的方式。2)版本号可以分为整型和浮点型整型:大功能版本,如v1、v2、v3 ...浮点型:补充功能版本,如v1.1、v1.2、v2.1、v2.2 ...
关于版本兼容性,小版本变化向下兼容的,只要大版本不变化。3)对于一个API或服务,应在生产中最多保留3个最详细的版本
4.路径(Endpoint) 路径又称"终点"(endpoint),表示API的具体网址,每个网址代表一种资源(resource)
接口命名应该是一个动宾结构,由动词 名词组成,采取驼峰式命名规范,例如:
product/v1.0/getProducts 获取产品order/v1.1/saveOrder 保存订单
接口命名常见通用动词可以参考如下:
动作
前缀
备注
获取
get