leetcode日志
跳跃的芋头人
这个作者很懒,什么都没留下…
展开
-
leetcode日志 2022.6.20
因为原有的k个链表是有序的,所以只要比较每个链表中还没有比较过的部分的第一个元素,找到它们之中的最小值,就是所有链表中的最小值,即可插在结果链表的最后。在有很多个升序链表的情况下,找到这个最小值的算法的性能还需要再优化。不使用python的模块的话,可以使用败者树,性能较好。使用python的模块会方便一些。...原创 2022-06-20 20:18:21 · 1051 阅读 · 0 评论 -
leetcode日志2022.6.16
一开始使用回溯算法,不能满足时间上的要求。之后进行了剪枝,勉强符合了时间的要求。原创 2022-06-20 18:47:56 · 1491 阅读 · 0 评论 -
leetcode日志 2022.6.15
一开始首先做出了题目对应的树形。第一个想法是每一层一个循环,因为它的树枝的减少是有规律的。后来写着发现太复杂了,所以放弃了。后来又想了两种思路,一种是每次把原有的集合中的元素取出并添加之前未添加过的新数字,一种是用回溯算法 。之后选择了用回溯算法写,因为想训练一下。...原创 2022-06-15 16:49:00 · 1497 阅读 · 0 评论 -
leetcode日志2022.6.14
回溯以进行枚举。注意题目要求 元素不重复,但是可以重复选取。40. 组合总和 II思路题目中要求重复元素但不可以重复选用。要注意递归调用时的参数和之前的不同。并且要注意进行剪枝,否则会出现重复的结果。如果能做出树形,对于剪枝来说是很有帮助的。在下图可以看出,需要剪去的是与之前的数字相同的枝,或者剪去与之后的数字相同的枝。(为了方便剪枝,将题目中给的candidates先排序) 216. 组合总和 III思路同今天的第一题...原创 2022-06-14 17:20:28 · 81 阅读 · 0 评论 -
leetcode日志2022.6.12
今天这道题目比较简单,用动态规划的想法就可以做出来了,代码量也很少。原创 2022-06-12 20:46:57 · 388 阅读 · 0 评论 -
leetcode 日志2022.6.7
这道题目可以用动态规划,因为满足了使用动态规划的几个特点:求最值,最优子结构(即主问题是最优解时,子问题也是最优解)。由于还符合了重叠子问题的情况(即一个子问题被多次求解),所以可以使用备忘录的技术,使用一个数组记录子问题的答案。......原创 2022-06-11 15:17:58 · 59 阅读 · 0 评论 -
leetcode日志2022.6.5
关键点在于二叉搜索树的有序性,并且要选择好遍历的顺序与处理节点的时机。利用二叉搜索树的右子树大于根的特性,以右 根 左的顺序遍历并累记节点上的值的和,因为题目的要求是大于等于当前结点值的所有结点值的和,所以要先把当前结点的值加上,再把累记的和赋值当前结点。...原创 2022-06-05 18:32:22 · 57 阅读 · 0 评论 -
leetcode 日志2022.6.4
先遍历grid2,将grid2中非子岛屿淹掉,再遍历一次grid2记录剩下的岛屿数量。原创 2022-06-05 08:47:27 · 55 阅读 · 0 评论