会员
众包
新闻
博问
闪存
赞助商
HarmonyOS
Chat2DB
所有博客
当前博客
我的博客
我的园子
账号设置
会员中心
简洁模式
...
退出登录
注册
登录
Smartisan
管理
上一页
1
2
3
4
5
6
7
8
9
···
53
下一页
2023年6月22日
代码随想录算法训练营第十四天| 104.二叉树的最大深度 (优先掌握递归) 111.二叉树的最小深度 (优先掌握递归) 222.完全二叉树的节点个数(优先掌握递归)
摘要: 104.二叉树的最大深度 (优先掌握递归) 迭代法,上一篇已经讲过,只需要对每一层+1,这里重要些递归法 递归法注意:如果当前节点为NULL,返回0,不是NULL,那么就是 1+ max(right,left) 代码: 1 void maxD_cursor(TreeNode* node, int&
阅读全文
posted @ 2023-06-22 10:22 博二爷
阅读(7)
评论(0)
推荐(0)
2023年6月21日
代码随想录算法训练营第十三天| 层序遍历 226.翻转二叉树 (优先掌握递归) 101. 对称二叉树 (优先掌握递归)
摘要: 层序遍历 注意: 1,使用队列的形式,依次入队,同时对队列进行计数 2,知道数目消失,才进行下一个队列 代码: 1 vector<vector<int>> levelOrder(TreeNode* root) 2 { 3 vector<vector<int>> result; 4 if (root
阅读全文
posted @ 2023-06-21 10:11 博二爷
阅读(11)
评论(0)
推荐(0)
2023年6月20日
代码随想录算法训练营第十二天| 递归遍历 (必须掌握)迭代遍历 统一迭代
摘要: 递归遍历 重点: 1,TreeNode的自定义 2,val =0 == val = NULL; 代码: 1 void preRecursor(TreeNode* root, vector<int>& result) 2 { 3 if (root == NULL) 4 return; 5 result
阅读全文
posted @ 2023-06-20 10:23 博二爷
阅读(15)
评论(0)
推荐(0)
2023年6月19日
代码随想录算法训练营第十一天| 239. 滑动窗口最大值 347.前 K 个高频元素
摘要: 239. 滑动窗口最大值 难点: 1,想好怎么快速找到区块内的最大数值,往常使用的是在遍历一次,但是是O(m*n) 思路: 1,使用单调队列,所有的数值都必须是从大到小, 2,用队列保持必要的顺序,而且对于大于K的循环,每次都要求pop push这两个操作 代码: 1 void pop(deque<
阅读全文
posted @ 2023-06-19 16:05 博二爷
阅读(17)
评论(0)
推荐(0)
2023年6月18日
代码随想录算法训练营第十天| 20. 有效的括号 1047. 删除字符串中的所有相邻重复项 150. 逆波兰表达式求值
摘要: 20. 有效的括号 特点: 左括号之后,可能还会有左括号,但是只要有右括号,那么它必须立刻和最近的左括号 代码: 1 char returnRightChar(char &c) 2 { 3 switch (c) 4 { 5 case '[': return ']'; 6 case '(': retu
阅读全文
posted @ 2023-06-18 15:22 博二爷
阅读(24)
评论(0)
推荐(0)
2023年6月16日
代码随想录算法训练营第九天| 232.用栈实现队列 225. 用队列实现栈
摘要: 232.用栈实现队列 注意: 1,构造函数不需要 2,需要有两个成员变量 in out 代码: 1 class MyQueue { 2 public: 3 stack<int> in; 4 stack<int>out; 5 MyQueue() { 6 7 } 8 9 void push(int x)
阅读全文
posted @ 2023-06-16 15:56 博二爷
阅读(224)
评论(0)
推荐(0)
2023年6月15日
代码随想录算法训练营第八天| 28. 实现 strStr() 459.重复的子字符串
摘要: 28. 实现 strStr() 难点: 1,制作KMP算法 2,next 数组要求的是,找到的下标:0/ s[i]==s[j]才可以跳出来 代码: 1 vector<int> getNextList(string needle) 2 { 3 vector<int> next(needle.size(
阅读全文
posted @ 2023-06-15 21:41 博二爷
阅读(41)
评论(0)
推荐(0)
2023年6月14日
代码随想录算法训练营第七天| 344.反转字符串 、 541. 反转字符串II、 剑指Offer 05.替换空格 、 151.翻转字符串里的单词 、 剑指Offer58-II.左旋转字符串
摘要: 344.反转字符串 代码: 1 void reverseString(vector<char>& s) { 2 3 int i = 0; 4 int j = s.size() - 1; 5 while (i < j) 6 { 7 char mid = s[i]; 8 s[i] = s[j]; 9 s
阅读全文
posted @ 2023-06-14 18:53 博二爷
阅读(531)
评论(0)
推荐(0)
2023年6月13日
代码随想录算法训练营第六天| 454.四数相加II 383. 赎金信 15. 三数之和 18. 四数之和
摘要: 454.四数相加II 1,难点: 1,多个数组之间,会有重复出现的数组,如果单用multiset也是会出错的 2,如果用mutliset,在使用 distance 找出来 equal_range的值的时候,也是会出现奇怪的错误的 2,正确思路 1,把重复出现的节点,次数 存放到map种,然后进行遍历
阅读全文
posted @ 2023-06-13 14:50 博二爷
阅读(538)
评论(0)
推荐(0)
2023年6月12日
代码随想录算法训练营第五天| 242.有效的字母异位词 , 349. 两个数组的交集 , 202. 快乐数 , 1. 两数之和
摘要: 242.有效的字母异位词 繁冗版: 1,思路: 先建立两个map,对应两个字符串对应的字符,同时对他们进行计数,如果这两个数字相等,那么就是相等 2,代码 1 bool isAnagram_complicate(string s, string t) 2 { 3 unordered_map<char
阅读全文
posted @ 2023-06-12 22:03 博二爷
阅读(696)
评论(0)
推荐(0)
上一页
1
2
3
4
5
6
7
8
9
···
53
下一页
公告