![](https://img-blog.csdnimg.cn/direct/3c5c1effc9d34e999f94dcd6eaa51cac.jpeg?x-oss-process=image/resize,m_fixed,h_224,w_224)
leetcode
文章平均质量分 87
代码随想录手推记录
Zichel77
有不足错误之处欢迎礼貌指正
展开
-
【随想录学习】——第十一章 单调栈
情况三:当前元素大于栈顶元素,出现凹槽可装水,弹出元素记为mid,新栈顶记为leftheight,当前元素记为rightheight,雨水高度=min(left,right)-mid,雨水宽度=凹槽右边的下标 - 凹槽左边的下标 - 1=i-top-1,然后高度与宽度相乘即可。2的时候,左边最高1,右边最高3,min(1,3)-0=1,也就是说取决于左右两边最高的最小值,同时要形成凹型的时候才能接到水。比如1的时候,左边最高0,右边最高3,min(0,3)-1原创 2024-01-19 12:34:08 · 951 阅读 · 0 评论 -
【随想录学习】——第十章 动态规划(多重背包+打家劫舍+股票+编辑距离+回文)
dp[i][0] 表示第i天持有股票所剩最多现金。dp[i][1] 表示第i天不持有股票所得最多现金dp[i]表示i之前包括i的以nums[i]结尾的最长递增子序列的长度表示以i为结尾的最长连续递增序列数布尔类型的dp[i][j]:表示区间范围[i,j] (注意是左闭右闭)的子串是否是回文子串,如果是dp[i][j]为true,否则为false。原创 2024-01-15 10:27:29 · 985 阅读 · 0 评论 -
【随想录学习】——第十章 动态规划(0-1背包+完全背包)
尽量让石头分成重量相同的两堆,相撞之后剩下的石头最小,这样就化解成01背包问题了所以和上一题几乎是一模一样的dp[j]表示容量(这里说容量更形象,其实就是重量)为j的背包,最多可以背最大重量为dp[j]。dp[j]中的j表示容量,那么最大容量(重量)是多少呢,就是所有石头的重量和。因为提示中给出1原创 2024-01-15 10:21:58 · 946 阅读 · 0 评论 -
【随想录学习】——第九章 贪心
关于贪心的一些手推记录原创 2023-12-18 17:19:36 · 826 阅读 · 0 评论 -
【随想录学习】——第八章 回溯算法
在处理组合问题的时候,递归参数需要传入startIndex,表示下一轮递归遍历的起始位置,这个startIndex就是切割线。原创 2023-12-18 17:12:36 · 792 阅读 · 0 评论 -
【随想录学习】——第七章二叉树
注意vector和stack用法的不同vector.push_back(cur→val);stack.push(cur);中序遍历手推先定义队列,用来保存每一层遍历的元素随后定义结果集,也就是一个二元数组,注意规定的格式进入循环后再定义size大小,每遍历一层后就更新一次为que大小同时再定义一个vector, 用来存放单层的数字然后在size范围内循环,首先将队列最前端的元素记作node接着将该元素弹出并计入到数组中,然后添加进左右子节点116.填充每个节点的下一个右侧节点指针在这段代码中, 的原创 2023-12-07 16:48:52 · 917 阅读 · 1 评论 -
【随想录学习】——第六章 栈和队列
第一种情况:此时我们已经遍历完了字符串,但是栈不为空,说明有相应的左括号没有右括号来匹配,所以return false,否则就return true。对于队列来说,前后都能够pop,因此pop函数为pop_front()和pop_back()注意都要是long long格式,而且我这个每个if里面有太多重复操作,修改一下。其中pop的情况是队列不为空,且队列首部元素=value,队首元素是最大元素。push的情况是,队列不为空且value>队尾,则队尾弹出,在push新的值。原创 2023-10-13 17:16:17 · 47 阅读 · 0 评论 -
【随想录学习】——第五章 双指针法
就只是两两交换位置即可,使用的是swap库函数不错不错,思路还记得就是先扩充,在从后向前遍历。原创 2023-10-11 21:35:08 · 37 阅读 · 0 评论 -
【随想录学习】——第四章 字符串
除了反转之外涉及到空格的处理关键就是对reverse函数的理解记住左闭右开。原创 2023-10-11 21:33:59 · 38 阅读 · 0 评论 -
【随想录学习】——第三章 哈希表
适用于字母表这种,有限制性大小的,这时数组比较节省空间。原创 2023-10-11 21:32:37 · 43 阅读 · 0 评论 -
【随想录学习】——第二章 链表
cur=dumphead的意思弄清楚之所以指向dummyhead是因为如果要删除头节点,那一定要找到头节点之前的节点,因此指向虚拟头指针。原创 2023-10-11 21:18:38 · 32 阅读 · 0 评论 -
【随想录学习】——第一章 数组
这是写二分查找最根本的问题, 因为根据不同的情况, 下面的操作是完全不同的, 这也是很多朋友感觉二分查找难写的地方, 这里为了方便, 我直接将区间定义为左闭右开[left, right)的形式, 这里根据自己的习惯最好将区间完全固定住, 以后都按照一种模式来写, 如果你习惯左闭右闭也同样固定住, 这样不用每次都纠结.例如,函数返回的新长度为 2 ,而 nums = [2,2,3,3] 或 nums = [2,2,0,0],也会被视作正确答案。不幸的是,你的产品的最新版本没有通过质量检测。原创 2023-10-11 21:15:31 · 37 阅读 · 0 评论