12 2021 档案

摘要:首先明确,单调队列和优先队列有很大的不同: 前者数据类型核心是一个deque,其值是按单调递增或单调递减的顺序记录的; 后者是一个二叉堆,其值是按优先级从大到小排序记录的。 1. 双端队列deque 在c++中,双端队列支持快速随机访问,在头尾位置插入删除速度更快,故其支持的API有: class 阅读全文
posted @ 2021-12-22 13:25 _Lisx 阅读(26) 评论(0) 推荐(0) 编辑
摘要:单调栈和单调队列有点像,其实本质就是以一个栈或队列去存放一堆单调递增或单调递减的数据,队列一般用于对元素个数有要求的情况,而单调栈一般用于对元素个数无限制,或者说对元素个数是inf的情况。 直接上代码: vector<int> nextGreaterElement(vector<int>& nums 阅读全文
posted @ 2021-12-21 16:07 _Lisx 阅读(23) 评论(0) 推荐(0) 编辑
摘要:今天在刷leetcode23题时发现,在使用优先队列合并时,创建了一个结构体内嵌比较函数,很有意思,便做如下记录: struct Status { int val; ListNode *ptr; bool operator < (const Status &rhs) const { return v 阅读全文
posted @ 2021-12-17 19:34 _Lisx 阅读(30) 评论(0) 推荐(0) 编辑
摘要:同: 两者都是表示固定大小的数组,即不能添加和删除元素,也都支持快速访问,如: array<int,42> ={}; int arr[42]={}; //保存42个int的空数组 异: 1.内置数组arr类型不能进行拷贝或对象赋值操作,但array并无此限制: int digs[10]={0,1,2 阅读全文
posted @ 2021-12-10 20:27 _Lisx 阅读(26) 评论(0) 推荐(0) 编辑
摘要:vector<vector<int>> vec; vec.push_back(vector<int>()); vec.back().push_back(); 今天在刷leetcode题的时候见到如上三句代码,很有意思。 第一句创建了一个实体为vertor<int>的容器,可以理解为一个二维数组; 第 阅读全文
posted @ 2021-12-05 10:51 _Lisx 阅读(62) 评论(0) 推荐(0) 编辑
摘要:以下是本人在做算法题是学习的一个将int/double等数型数据转换为字符型数据的函数模板: #include<stringstream>; void i2s(int x,string &s){ sstream ss; ss<<x; ss>>s; } 本代码是将int型的x读入到ss中去,再从ss中 阅读全文
posted @ 2021-12-02 22:08 _Lisx 阅读(21) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示