LeetCode
文章平均质量分 53
日常练习题解
尹苏宽
这个作者很懒,什么都没留下…
展开
-
繁星云LeetCode406. 根据身高重建队列 C++代码解析
LeetCode406. 根据身高重建队列 原题链接:根据身高重建队列1. 需要了解的知识点lambda的使用: [捕获列表](参数列表){函数体}[](vector<int> &a,vector<int>&b) { return (a[0] > b[0]) || (a[0] == b[0] && a[1] &l...原创 2020-07-19 11:37:00 · 99 阅读 · 0 评论 -
繁星云LeetCode.623 在二叉树中增加一行C++解析
LeetCode.623 在二叉树中增加一行 原题链接:在二叉树中增加一行1. 需要了解的知识点树的遍历模板:void dfs(TreeNode* root) { if(!root) //节点为空 { return ; //递归出口 } dfs(root->left); ...原创 2020-07-04 21:08:00 · 73 阅读 · 0 评论 -
繁星云LeetCode面试题 16.19. 水域大小 C++代码解析
LeetCode面试题 16.19. 水域大小 原题链接:水域大小1. 难点:如何计算每个水域的大小,并不会把水域的子集添加进去。2. 思路循环遍历二维数组,当碰到0时进入深度搜索,然后八个方向广度搜索,计算每个水域的大小,被记录过的0标记为1,避免重复统计。3. 代码注释变量定义的解释void dfs(vector<vector<int>>& land, int...原创 2020-07-21 20:10:00 · 244 阅读 · 0 评论 -
LeetCode 1537. 最大得分 C++代码解析
LeetCode 1537. 最大得分 原题链接:最大得分1. 难点在切换点如何进行选择才能获得最大值2. 思路选择切换点获得最大值,实际上是比较切换点到下一个切换点之间的元素总和的大小。所以只要先累加每一个切换点,再在每一次切换的时候比较两个数组切换点后面那段,总和大的那一段累加,最后就会获得最大值。3. 代码注释变量定义的解释unordered_set<int> maps; ...原创 2020-08-03 21:06:00 · 294 阅读 · 0 评论 -
LeetCode51.八皇后/N皇后问题C++解析
LeetCode51.N皇后,面试题 08.12.八皇后 原题链接:N皇后 原题链接:八皇后1. 需要了解的知识点全排列模板(回溯)dfs(){ if() //出口 { return ; } for(int i=0;i<n;i++) //列举所有情况 { if(!pd[i]) { ...原创 2020-06-30 00:55:00 · 102 阅读 · 0 评论 -
LeetCode692.前K个高频单词C++代码解析
LeetCode692.前K个高频单词原题链接:前K个高频单词1. 需要了解的知识点数据结构unordered_map: 哈希函数组成的 无序 map。(此题unordered_map无序比有序map效率更高)multimap: 可重复的map相关函数APIvector<int>empty(): 判断Vector是否为空 size(): ...原创 2020-06-28 23:16:00 · 221 阅读 · 0 评论 -
LeetCode284.顶端迭代器C++简洁代码解析
LeetCode284.顶端迭代器 原题链接:顶端迭代器1. 思路采用一个临时变量缓存Iterator中next()的值理解三个成员函数的含义:peek(): 返回下一个元素的值,不向后移动一个元素 next(): 返回下一个元素的值,向后移动一个元素 hasNext(): 判断下一个元素是否存在,存在为true,不存在为false定义PeekingIterator中的成员变...原创 2020-06-26 23:18:00 · 129 阅读 · 0 评论 -
LeetCode.726 原子的数量 C++
LeetCode.726 原子的数量 原题链接:原子的数量1. 题意:将化学式的各个元素按字典序排序,以(元素+元素个数)的形式依次累加成字符串2. 思路通过pair的形式,将每个元素和该元素的个数对映,括号也与括号后的个数对映,如下图 利用栈结构匹配(),将括号的外的个数,乘以括号里各元素对应的个数。哈希表统计各元素的个数,并以字典序排序3. 代码注释变量定义的解释vector<pa...原创 2020-10-09 15:53:00 · 273 阅读 · 0 评论 -
LeetCode 1286.字母组合迭代器 C++代码解析
LeetCode 1286.字母组合迭代器 原题链接:字母组合迭代器 1. 需要了解的知识点又是一道全排列回溯问题。。。 全排列模板(回溯)dfs(){ if() //出口 { return ; } for(int i=0;i<n;i++) //列举所有情况 { ...原创 2020-07-01 23:00:00 · 71 阅读 · 0 评论 -
逆波兰表达式求值
逆波兰表达式求值23 45 2 * 8 2 + - +从左至右,遇到数值将数值依次压入栈中遇到符号弹出栈中两个元素,进行运算,再把结果压入栈中1、23 45 2 压入栈中 2、弹出2、45,计算45*2=90,将90压入栈 3、依次把8、2 压入栈 4、弹出2、8计算8+2=10,将 10压栈 5、弹出10、90计算90-10=80,将80压入栈 6、弹出80、23计算23+80=...原创 2020-08-15 11:24:00 · 81 阅读 · 0 评论 -
繁星云C++primer泛型编程 环形数组队列模板
C++primer 泛型编程环形数组队列模板#ifndef _QUEUE_H#define _QUEUE_H#include<iostream>template<typename T>class Queue{public: Queue(int queueCapacity = 10); //队列默认大小为10 bool IsEmpty() ...原创 2020-07-10 20:22:00 · 127 阅读 · 0 评论 -
LeetCode895.最大频率栈-C++代码解析
LeetCode895.最大频率栈 原题链接:最大频率栈 1. 需要了解的知识点数据结构栈结构:后进先出(LIFO) 例:12345进入54321出 unordered_map: 哈希函数组成的 无序 map。(此题unordered_map无序比有序map效率更高)vector的APIempty() 判断Vector是否为空 back() ...原创 2020-06-25 01:16:00 · 120 阅读 · 0 评论 -
LeetCode1600. 皇位继承顺序(208场周赛)
LeetCode1600. 皇位继承顺序(208场周赛) 原题链接:皇位继承顺序1. 题意继承顺序:king->长子->长孙,长子的所有后代完了才轮到长子的兄弟。2. 思路容易想到的是建棵N叉树,然后返回顺序为先序遍历(麻烦)。 简单一点的做法可以:通过king索引出他的所有儿子,每个儿子索引出相应的孙子父子关系,可以使用 unordered_map<string, vect...原创 2020-09-28 17:32:00 · 172 阅读 · 0 评论