![](https://img-blog.csdnimg.cn/20201014180756919.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
力扣刷题hot100
Circlexi
这个作者很懒,什么都没留下…
展开
-
94.二叉树的中序遍历
与方法一类似,只是显示维护了栈。原创 2024-06-23 10:10:13 · 167 阅读 · 0 评论 -
42.接雨水
坐标为 i 的点最多能接到的雨水是左右两边最高高度中的较小值-height[i]原创 2024-06-20 10:45:50 · 358 阅读 · 0 评论 -
15.三数之和
当我们需要枚举数组中的两个元素时,如果我们发现随着第一个元素的递增,第二个元素是递减的,那么就可以使用双指针的方法。如果我们固定了前两重枚举到的元素a和b,那么只有唯一的c满足a+b+c=0。当第二重循环往后枚举一个元素b'时,由于b'>b那么c'一定有c'<c。(a,b,c)满足a<=b<=c,保证这个顺序,所以需要从小到大排序。那么就是我们从小到大枚举b,同时从大到小枚举c,这就是双指针。原创 2024-06-19 11:23:20 · 120 阅读 · 0 评论 -
11.盛最多水的容器
一开始,左右指针分别指向数组两端,可以容纳的水为min(1,7)*8=8。因为容纳的水量由两个指针指向的数字中较小值*指针之间的距离巨顶。所以应该移动数字较小的那个指针。原创 2024-06-19 10:51:13 · 121 阅读 · 0 评论 -
283.移动零
使用双指针,左指针指向已处理序列尾部,右指针指向未处理指针头部,当右指针指向非零数时,左右指针移动,当它指向0时,右指针动左指针不动1.序列没有0,左右指针原地不动2.序列有0,右指针先走一步,此时左指针对应的就是0,所以要交换因此每次交换,都是将左指针的零与右指针的非零数交换,且非零数的相对顺序并未改变。原创 2024-06-18 11:09:25 · 358 阅读 · 0 评论 -
128.最长连续序列
但仔细分析这个过程,有许多不必要的枚举已知有一个x,x+1,x+2,...,x+y的连续序列,而我们却从x+1 x+2...开始匹配,这样就浪费了很多时间,所以我们要跳过这些情况。在最坏情况下时间复杂度会达到O(n^2)即外层枚举O(n)次内层暴力匹配O(n)次,无法满足题目要求。然后就是不断匹配x后面是否存在x+1 x+2 ... x+y那么最长递增序列就是y+1。判断条件是:我们要枚举的数x一定不存在前驱数x-1,不然我们就会从x-1开始尝试匹配了。用暴力枚举的方法就是O(n)遍历数组是否存在这个数。原创 2024-06-18 10:39:18 · 485 阅读 · 0 评论 -
49.字母异位词分组
字母异位词分组原创 2024-06-17 11:22:31 · 58 阅读 · 0 评论 -
leetcode个人记录Day1
哈哈哈哈哈第一题就不会做,新手小白了属于是连vector的长度怎么表示都不记得了,真的是。。这道题有暴力枚举法和更快速度的方法。原创 2024-06-17 10:16:39 · 201 阅读 · 0 评论