随笔分类 - LeetCode
摘要:可以用两个优先队列记录数据流及其中位数。通过在两个队列插入数据以及平衡数据,维持队列的top为中位数
阅读全文
摘要:丑数可以利用多指针记录当前因数指向的丑数位置 min函数对int 和 unsigned_int取最小时,要进行类型转换
阅读全文
摘要:判断是否可以成为三角形,可以先排序,再两重循环,降低复杂度。
阅读全文
摘要:三色标记法找图中的环,或拓扑排序思想拆除安全的点
阅读全文
摘要:Dijkstra算法可以利用最小堆进行优化
阅读全文
摘要:is_sorted判断数组是否有序
阅读全文
摘要:vector.back()获取vector最后一个元素。multiset自动排序。tuple元组,tuple是一个固定大小的不同类型值的集合,是泛化的std::pair。std::get<ith>(tuple_obj)可以获取tuple_obj的第ith个值,ith必须在编译期已经给定。
阅读全文
摘要:通过一次深度优先遍历以及一个unordered_map可以记录每个节点的父节点 c++17,结构化绑定,结构化绑定允许通过对象、结构体的成员来初始化多个变量,结构化绑定声明使用auto来声明多个变量,所有变量都必须用中括号[ ]括起来。在所有情况下,元素或数据成员的数量都必须符合结构化绑定声明中的名
阅读全文
摘要:lambda函数在递归调用时,要写清楚函数的类型,而不能用auto,且需要捕获std::function<void(TreeNode*)> DFS=[&](TreeNode* node){DFS(node->left);DFS(node->right);};
阅读全文
摘要:通过定义d[],d[n]表示长度为n+1的数组尾部数字最小值(最小值更容易得到更长的数组),通过不断更新d[],得到最长递增子序列
阅读全文
摘要:当其中一个数组元素各不相同时,最长公共子序列问题可以转化为最长上升子序列问题。
阅读全文
摘要:multimap按照key从小到大排序,且value不排序multiset<pair>按照pair从小到大排序,先比较key再比较value priority_queue<T> 传入less<T>时是大根堆,传入greater<T>时是小根堆,这和一般的算法是反的(例如sort())。
阅读全文
摘要:采取「一边遍历一边统计」的方式,可以避免重复计算 v是由小到大排序的容器upper_bound(v.begin(), v.end(), val);可以利用二分查找返回第一个大于val的位置的迭代器lower_bound( begin,end,val);返回第一个大于等于的位置pair<Ty1,Ty2
阅读全文
摘要:isdigit() 判断char是否为数字islower()判断char是否为小写字母to_string 转为string对于括号序列相关的题目,通用的解法是使用递归或栈。
阅读全文
摘要:string的erase pop_back() substr()可用于删除操作。stoi将string转化为int
阅读全文
摘要:unordered_map可以hash vector建立邻接矩阵,以空间换时间建立unordered_map<属性,节点>,从而保存图的属性到节点的映射关系,从而确定节点的邻接关系。
阅读全文
摘要:状态转移使用广度优先搜索unordered_set可以hash string 但是不能用vector注意广度优先搜索时,若使用int step和 unordered_set<T>/vecotr<bool> visited,step每层加一而不是每次加一或者不使用step,而是使用unordered_
阅读全文
摘要:双向广度优先搜索 queue<string> begin_queue,end_queue; begin_queue.push(begin); end_queue.push(end); unordered_set<string> begin_visited,end_visited; begin_vis
阅读全文
摘要:广度优先搜索获取最短路径方法。 emplace_back(),可以无参数直接调用。 可以用点和边构建图; unordered_map<string,int> word_id; vector<vector<int>> edge;//第一维表示每个节点,第二位表示每个相邻的节点 再通过广度优先搜索获取最
阅读全文
摘要:辗转相除法求最大公约数 int GCD(int x,int y){ return y?GCD(y,x%y):x;}(整数)相除会导致数据精度问题,可以保存两个整数(除以最大公约数),注意考虑负数和0。 LL GCD(LL x,LL y){ if(x%y==0) return y; return GC
阅读全文