![](https://img-blog.csdnimg.cn/20201014180756757.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Leetcode
howtoloveyou
这个作者很懒,什么都没留下…
展开
-
【9.20】2019Week1 二分专题
模板1的条件为mid < target,因此l右移并且l一定不是mid,l = mid + 1,但是mid >= target时r左移有可能为正确答案所以r = mid模板2模板2的条件为mid target时r左移不可能为正确答案所以r = mid - 169. x 的平方根method 1check函数设置为mid * mid原创 2022-09-24 21:46:34 · 254 阅读 · 0 评论 -
【9.20】698. 划分为k个相等的子集
如果能够将所有的额数字都放入到vec中证明可以返回true,否则应该返回false。原创 2022-09-20 12:38:51 · 83 阅读 · 0 评论 -
【9.17】贪心算法专题(下)
先把高的排好,然后低的一个一个往前插到对应的位置上,因为相对于前面都是比他高的所以插入到【1】的位置即可。原创 2022-09-18 21:58:29 · 117 阅读 · 0 评论 -
【9.16】850. 矩形面积 II
使用扫描的方法,并合并矩形的高。原创 2022-09-16 21:24:32 · 104 阅读 · 0 评论 -
【9.11】669. 修剪二叉搜索树
现在对递归算法的理解就是返回的是对当前点的处理结果。如果左边不行就返回对右子树处理的结果,如果右边不行就返回对左子树处理的结果,如果两边都可以就对左右分别处理,再返回该节点。原创 2022-09-11 12:33:17 · 73 阅读 · 0 评论 -
【9.8】667. 优美的排列 II
本题分为两个部分,前半部分负责1的差值,后半部分的差值从k一直递减到1,满足题目要求。原创 2022-09-08 10:16:43 · 104 阅读 · 0 评论 -
【9.3】贪心算法专题(上)
贪心的思想在于收到20时先使用10元找零。原创 2022-09-06 23:31:10 · 596 阅读 · 0 评论 -
【9.6】828. 统计子串中的唯一字符
在tmp[i]首尾插入-1和s.size是为了处理最左侧和最右侧的情况。原创 2022-09-06 11:00:31 · 59 阅读 · 0 评论 -
【9.5】652. 寻找重复的子树
哈希表中存储树的节点。原创 2022-09-05 12:42:15 · 73 阅读 · 0 评论 -
【9.4】周赛309B 6168. 恰好移动 k 步到达某一位置的方法数目
移动k步到endPos,就是移动固定的delta步,再移动要消耗掉的步数的一半。首先排除了两种无法到达的情况,然后对k中选择delta求组合数。原创 2022-09-04 13:08:47 · 196 阅读 · 0 评论 -
【9.4】1582. 二进制矩阵中的特殊位置
【代码】【9.4】1582. 二进制矩阵中的特殊位置。原创 2022-09-04 11:50:47 · 58 阅读 · 0 评论 -
【9.3】646. 最长数对链
首先进行排序,然后贪心+dp。原创 2022-09-03 19:44:03 · 58 阅读 · 0 评论 -
【9.2】687. 最长同值路径
简单的递归方法,使用sum保存最大的分支路径,使用ret判断是否将最大值更新为两条分支路径之和。路径问题难度排序:LC124–>LC543–>LC687–>LC2246。原创 2022-09-02 12:58:18 · 98 阅读 · 0 评论 -
【9.1】1475. 商品折扣后的最终价格
单调栈:由于栈是先进后出,当倒序遍历数组时,栈从上而下就是顺序排列,所以while中会查找prices[i]右侧第一个小于s的元素(并且不会pop,就不会影响其他的元素),如果while遍历后st为空证明没找到,不然st.top()就是右侧最小的元素,然后进行更新即可。原创 2022-09-01 18:29:52 · 103 阅读 · 0 评论 -
【8.31】21. 合并两个有序链表
【代码】【8.31】21. 合并两个有序链表。原创 2022-08-31 21:48:01 · 217 阅读 · 0 评论 -
【8.31】946. 验证栈序列
使用tmp查找之前被遍历过得数字,找不到就先前移动一位。原创 2022-08-31 10:34:04 · 65 阅读 · 0 评论 -
【8.30】53. 最大子数组和
pre中保存了从当前节点到之前的节点最大值,确保了从数组中间部分开始的结果的情况,比如【8 -19 5 -4 20】pre应返回的就是从5开始的21。ret中保存了整个数组的最大值,pre虽然保证了从中间开始的部分结果,但有时也不是最大值,比如【8 -19 5 】pre中保存为5,ret应该返回8。...原创 2022-08-30 14:14:04 · 61 阅读 · 0 评论 -
【8.30】998. 最大二叉树 II
【代码】【8.30】998. 最大二叉树 II。原创 2022-08-30 11:27:15 · 336 阅读 · 0 评论 -
【8.29】1470. 重新排列数组
使用符号标记已经处于正确位置上的数字,使用j表示已经交换的数字之前的位置,并用j来计算这个数字应该在的位置。time on, space o1, 使用int类型的高位进行存储数据。原创 2022-08-30 10:58:32 · 59 阅读 · 0 评论 -
【7.5】15. 三数之和
对vector快排为从小到大:对vector快排为从大到小:原创 2022-07-05 17:53:52 · 49 阅读 · 0 评论 -
【7.4】25. K 个一组翻转链表
力扣25原创 2022-07-04 19:22:10 · 80 阅读 · 0 评论 -
【6.6】206. 反转链表 3. 无重复字符的最长子串
给你单链表的头节点 head ,请你反转链表,并返回反转后的链表。迭代法:迭代的方法就是从前往后对链表进行处理,在翻转的过程中要维持一个n指针,一个n+1指针,在处理的过程中首先保存n+2,然后将n+1的next指向n,然后迭代返回n+1和n+2。递归法:使用递归法返回newhead,然后每次仅对当前节点进行处理,返回的同样是newhead。并且在处理的过程中需要将head next指向nullptr避免造成环。如果不加这句代码会让链表中出现环,并且会输出一个链表入口处有环的链表如果输原创 2022-06-06 12:45:37 · 74 阅读 · 0 评论 -
【7.3】146. LRU缓存机制
方法:哈希表+双向链表测试:hashmap+双向链表,复杂度分析:代码:原创 2022-07-03 11:51:03 · 37 阅读 · 0 评论