![](https://img-blog.csdnimg.cn/20201014180756913.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
算法刷题
qq_59908854
这个作者很懒,什么都没留下…
展开
-
Leet Code 55 跳跃游戏
需要定义一个变量L,记作当前可以跳到的最大下标遍历数组,如果当前元素下标大于最大下标,说明跳不到这里,返回false如果当前元素下标小于最大下标,检查是否可以更新最大下标。原创 2024-09-02 14:48:36 · 143 阅读 · 0 评论 -
Leetcode 5 最长回文子串 dp
首先,要理解回文子串的一个特点就是掐头去尾仍然是回文子串然后,就可以知道s[i:j+1]是否是回文子串取决于s[i+1:j]是否是回文子串(状态转移)最后,可以使用二维dp来解决这题,第一步,明确状态转移方程第二步,这题要使用逆向递归的思路,因为正向递归无法知道i+1的状态,原创 2024-09-01 22:42:03 · 114 阅读 · 0 评论 -
Leet Code 57 插入区间
因为原区间已经排好序了,如果按照合并区间的思路,将新数组加入进去然后对区间排序,之后在遍历,时间复杂度为O(nlogn),这样就。因此,这是可以利用二分的特性,先找到新数组的插入位置,然后在遍历数组,这样时间复杂度为O(n)。没有很好利用原区间已经排好序的特性。原创 2024-09-01 21:28:41 · 101 阅读 · 0 评论 -
leetcode 56 合并区间
step1:先对intervals进行排序step2:新建结果数组res,将intervals中第一个元素加入到到res中step3:遍历intervals,对比元素和res中最后一个元素,观察是否可以合并。原创 2024-08-29 16:14:56 · 182 阅读 · 0 评论 -
leetcode 54 59螺旋数组
这题主要在于上下边界的处理,假设上下左右四个边界为step1:从左边界遍历到右边界,依次记录元素;遍历结束之后,上边界 up += 1;判断up是否大于down,大于退出循环step2:从上边界遍历到下边界,依次记录元素;遍历结束之后,右边界 right -= 1;判断left是否大于right,大于就退出循环然后,是右边界到左边界的遍历,下边界到上边界的遍历,直到边界冲突,退出循环。原创 2024-08-29 14:53:15 · 225 阅读 · 0 评论