会员
众包
新闻
博问
闪存
赞助商
HarmonyOS
Chat2DB
所有博客
当前博客
我的博客
我的园子
账号设置
会员中心
简洁模式
...
退出登录
注册
登录
SandaiYoung
博客园
首页
新随笔
联系
管理
订阅
上一页
1
2
3
4
5
6
7
下一页
2024年2月29日
代码随想录算法训练营第三十一天| 理论基础 455.分发饼干 376. 摆动序列 53. 最大子序和
摘要: 理论基础 贪心的本质是选择每一阶段的局部最优,从而达到全局最优。 分发饼干 class Solution { public: int findContentChildren(vector<int>& g, vector<int>& s) { sort(g.begin(), g.end()); sor
阅读全文
posted @ 2024-02-29 01:18 SandaiYoung
阅读(13)
评论(0)
推荐(0)
2024年2月27日
代码随想录算法训练营第三十天|回溯法总结
摘要: 回溯法总结 回溯算法能解决如下问题: 组合问题:N个数里面按一定规则找出k个数的集合 排列问题:N个数按一定规则全排列,有几种排列方式 切割问题:一个字符串按一定规则有几种切割方式 子集问题:一个N个数的集合里有多少符合条件的子集 棋盘问题:N皇后,解数独等等 代码随想录 (programmerca
阅读全文
posted @ 2024-02-27 19:18 SandaiYoung
阅读(15)
评论(0)
推荐(0)
2024年2月26日
代码随想录算法训练营第二十九天| 491.递增子序列 46.全排列 47.全排列 II
摘要: 491.递增子序列 题目链接:491. 非递减子序列 - 力扣(LeetCode) 思路:一开始一直报访问异常的错误,最后只好参考官网答案,结果竟然是因为我递归参数写错了导致程序一直出问题???(⊙︿⊙) 这里去重用的是标记数组,可以用集合unordered_set,但由于本题数据范围比较小,所以我
阅读全文
posted @ 2024-02-26 23:50 SandaiYoung
阅读(24)
评论(0)
推荐(0)
2024年2月24日
代码随想录算法训练营第二十七天| 93.复原IP地址 78.子集 90.子集II
摘要: 复原IP地址 题目链接:93. 复原 IP 地址 - 力扣(LeetCode) 思路:投降。在判断字符串是否合法这部分遇到了困难。 class Solution { private: vector<string> result;// 记录结果 // startIndex: 搜索的起始位置,point
阅读全文
posted @ 2024-02-24 22:54 SandaiYoung
阅读(10)
评论(0)
推荐(0)
2024年2月23日
代码随想录算法训练营第二十六天| 39. 组合总和 40.组合总和II 131.分割回文串
摘要: 组合总和 题目链接:39. 组合总和 - 力扣(LeetCode) 思路:依然一是套用回溯模板,但是我们这里用回溯的是i而不是i+1,因为元素可以重复使用,注意for循环里if(sum(path)<=target)的等号不能少。 class Solution { public: vector<int
阅读全文
posted @ 2024-02-23 19:20 SandaiYoung
阅读(19)
评论(0)
推荐(0)
2024年2月22日
代码随想录算法训练营第二十五天| 216.组合总和III 17.电话号码的字母组合
摘要: 组合总和III 题目链接:216. 组合总和 III - 力扣(LeetCode) 思路:仿照昨天的递归模板写的,同样是for循环横向遍历,递归纵向遍历。注意当k>n时要直接跳出,否则会判断栈溢出。 额外发现一个问题就是在累加sum时,用for(auto i:path)sum+=path[i];会出
阅读全文
posted @ 2024-02-22 18:27 SandaiYoung
阅读(27)
评论(0)
推荐(0)
2024年2月21日
代码随想录算法训练营第二十四天|● 理论基础 ● 77. 组合
摘要: 回溯理论基础 回溯法,与递归有类似形式,本质是穷举(可能存在剪枝),效率并不高。 回溯的模板: void backtracking(参数) { if (终止条件) { 存放结果; return; } for (选择:本层集合中元素(树中节点孩子的数量就是集合的大小)) { 处理节点; backtra
阅读全文
posted @ 2024-02-21 13:31 SandaiYoung
阅读(15)
评论(0)
推荐(0)
2024年2月20日
代码随想录算法训练营第二十三天|669. 修剪二叉搜索树 ● 108.将有序数组转换为二叉搜索树 ● 538.把二叉搜索树转换为累加树 ● 总结篇
摘要: 669.修剪二叉搜索树 题目链接:669. 修剪二叉搜索树 - 力扣(LeetCode) 思路:本题原来想沿用上一次最后一道题的思路,用删除二叉搜索树特定值节点的方法来解决,但是会报错,找不出问题所在(在评论区也是一堆套用450代码报错的)。只能参考官网答案了。 官网的方法没有用delete,但是思
阅读全文
posted @ 2024-02-20 18:19 SandaiYoung
阅读(13)
评论(0)
推荐(0)
2024年2月19日
代码随想录算法训练营第二十二天|235. 二叉搜索树的最近公共祖先 ● 701.二叉搜索树中的插入操作 ● 450.删除二叉搜索树中的节点
摘要: 二叉搜索树的最近公共祖先 题目链接:235. 二叉搜索树的最近公共祖先 - 力扣(LeetCode) 思路:只要利用二叉搜索树特性,只要当前节点的值位于要求的两个节点之间,就必定是我们要找的节点。最简单的一集。 class Solution { public: TreeNode* lowestCom
阅读全文
posted @ 2024-02-19 16:00 SandaiYoung
阅读(12)
评论(0)
推荐(0)
2024年2月17日
代码随想录算法训练营第二十天|530.二叉搜索树的最小绝对差 ● 501.二叉搜索树中的众数 ● 236. 二叉树的最近公共祖先
摘要: 530.二叉搜索树的最小绝对差 题目链接:530. 二叉搜索树的最小绝对差 - 力扣(LeetCode) 思路:由于是二叉搜索树,先用中序遍历将节点存入数组中,再遍历数组相邻元素即可。 class Solution { public: void qianxu(TreeNode* root,vecto
阅读全文
posted @ 2024-02-17 21:35 SandaiYoung
阅读(12)
评论(0)
推荐(0)
上一页
1
2
3
4
5
6
7
下一页
公告