前言:T3写挂了,有点难受。 T1 中位数 题意简述:给你一段长度为$n$的序列,分别输出$[1,2k-1]$的中位数$(2k-1\leq n)$。 其实正解是用两个堆分别为大根堆和小根堆。但我这里偷了个懒,直接由STL函数upper_bound二分查找插入数字(STL大法好 Code: #incl ...
分类:
其他好文 时间:
2020-03-21 23:15:27
阅读次数:
84
简述 优先队列是stl里容器的一种,优先队列的底层结构是堆,会根据定义的优先级将优先级高的排在队首,入队和出队的时间复杂度在log(n)。 定义 优先队列默认大的在队首,字符串则为字典序由大到小。int,double,char,string类型都可以这样定义。 priority_queue<int> ...
分类:
其他好文 时间:
2020-03-21 18:03:00
阅读次数:
71
引言 关于标准库的sort的实现,各种贴子文章看得人眼花缭乱,还是看code吧。本文代码取自Ubuntu 18.04自带的GNU STL。(个人觉得MSVC版本的STL可阅读性并不是那么好) std::sort std::sort经过一些必要的检查后调用了std::__sort并且指定了默认的比较器 ...
分类:
其他好文 时间:
2020-03-21 16:26:24
阅读次数:
86
2.1 vector<类型> v 声明了一个容器; 2.2 尾插 v.push_back(); 2.3 起始迭代器 v.begin() 指向容器中第一个元素; 2.4 结束迭代器 v.end() 指向容器中最后一个元素的下一个位置; 2.5 三种方式去遍历vector迭代器:其中注意使用 for_e ...
分类:
编程语言 时间:
2020-03-21 13:09:26
阅读次数:
65
1.六大组件: 1.1:容器、算法、迭代器、仿函数、适配器、空间配置器。 1.2:容器包括序列式容器以及关联式容器(有个key起到索引的作用)。 1.3:算法(algorithm)分为质变算法及非质变算法。 1.4:迭代器(iterator)主要是用双向迭代器以及随机访问。 1.5:STL的优点:1 ...
分类:
其他好文 时间:
2020-03-21 11:23:29
阅读次数:
94
前面《报表自动化: 没有压力的维度建模》以超市的一个订单为例简单讲述了维度建模中事实表与维度表的概念,这一篇主要讲一讲维度里面的时间维度这个特殊的数据内容。 为什么说时间维度特殊呢?比如说商品的分类:蔬菜、水果、饮品、小家电……很多种分类,但这个分类的数量有限且不是很多,但是对于时间呢,每一时间点都 ...
分类:
其他好文 时间:
2020-03-20 22:21:45
阅读次数:
82
刷leetcode的目的 找工作时候会有算法测试,基本的数据结构与算法要熟练掌握。 SLAM系统里数据交互非常复杂,为了加强动手实现能力,C++的各种STL的特性要掌握;熟练使用C++数据结构与算法的程度决定了你开发效率。 在刷题中学习C++与Python的特点,温故而知新。 怎么刷 每天一道题,先 ...
分类:
其他好文 时间:
2020-03-20 19:52:09
阅读次数:
78
log4j配置文件有三个主要的组件:Logger,Appender和Layout,分别为日志类型,日志输出目的地,日志输出格式。 1. 配置日志级别及appenderName log4j.rootLogger=[level],console,debugFileAppender,errorFileAp ...
分类:
其他好文 时间:
2020-03-20 10:59:04
阅读次数:
89
队列是什么? 队列是一种特殊的线性表,特殊之处在于它只允许在表的前端进行删除操作,而在表的后端进行插入操作。 和栈一样,队列是一种操作受限制的线性表。进行插入操作的端称为队尾,进行删除操作的端称为队头。 ——来自百度百科 队列,简单来说,就是数据排队(废话)。 打个比方,在超市买东西,假设我们是收银 ...
分类:
其他好文 时间:
2020-03-20 00:44:02
阅读次数:
64
C++ pair的基本用法总结 1,pair的应用 pair是将2个数据组合成一组数据,当需要这样的需求时就可以使用pair,如stl中的map就是将key和value放在一起来保存。另一个应用是,当一个函数需要返回2个数据的时候,可以选择pair。 pair的实现是一个结构体,主要的两个成员变量是 ...
分类:
编程语言 时间:
2020-03-18 18:39:29
阅读次数:
80