- 博客(9)
- 收藏
- 关注
原创 力扣刷题——面试经典150道—9.跳跃游戏(题目55)
注意:不是跳跃下标的长度,而是可以跳跃的最大长度,即下标为3,可以跳跃1,2,3中的任何一个。想法二:改进一下,采用类似于动态规划的思想,计算最远距离。想法一:贪心算法遍历。
2024-01-22 16:17:43
358
原创 力扣刷题——面试经典150道—8.买卖股票的最佳时机Ⅱ(题目122)
dp[i][1][1]=max(dp[i-1][1], dp[i-1][0]-price[i])//昨天买入或今天买入。dp[i][1][0]=max(dp[i-1][0], dp[i-1][1]+price[i])//昨天卖出或今天卖出。修改状态dp[天数][持有股票数]与上一题的区别在于不限制交易次数。
2024-01-20 13:28:59
359
原创 力扣刷题——面试经典150道—7.买卖股票的最佳时机(题目121)
dp[i][1][0]=max(dp[i-1][1][0], dp[i-1][1][1]+price[i])//昨天卖出或今天卖出。dp[i][1][1]=max(dp[i-1][1][1], -price[i])//昨天买入或今天买入。使用贪心算法(找到最低点买入,在之后的最高点卖出)的话,对于特殊的价格波动(5,9,1,2,3)会出错。使用三维数组dp[天数][交易次数][持股个数]使用暴力求解的话会超出时间。
2024-01-20 13:05:06
360
原创 力扣刷题——面试经典150道—6.轮转数组(题目189)
1.k可能大于数组长度,需要取模。使用数组翻转,首先将整体翻转,再分成两部分各自翻转。要求:空间复杂度为o(1)
2024-01-13 15:50:33
338
1
原创 力扣刷题——面试经典150道—5.多数元素(题目169)
多数元素只可能存在一个,使用一个计数器来存储元素出现个数,不同时减1,相同时加1,计数器为0时存储当前位置数字,并计数为1。
2024-01-13 14:59:08
402
1
原创 力扣刷题——面试经典150道—4.删除有序数组中的重复项Ⅱ(题目80)
例如111223,过程中会判断到1重复,变成112223,不进行特殊判断的话会删除一个2。注意:当只向前移动一位时,可能会造成出现两次变成出现三次。具体操作为出现重复的个数为1时需要判断前三个数。是上一题的复杂版,需要比较两个数字。
2024-01-13 14:51:13
390
1
原创 力扣刷题——面试经典150道—3.删除有序数组中的重复项(题目26)
耗时是12ms,使用题解的双指针的方法提交后也是12ms。使用一个值来记录重复数个数,将不重复的向前移动一定位置。非严格递增即存在重复数的递增数组,要求删除重复数。
2024-01-13 14:29:55
379
1
原创 力扣刷题——面试经典150道—2.移除元素(题目27)
选择一个当做遍历指针,一个当做数组末尾指针,如果等于val,将末尾元素放到需要删除的数组位置,然后将两个指针都减1,进行循环。需要注意,返回时数组末尾指针大小需要+1。
2024-01-11 16:08:37
373
1
原创 力扣刷题——面试经典150道—1.合并两个有序数组(题目88)
本来打算将nums1复制到新数组中后排序,但复制数组最低需要遍历,时间复杂度太高。通过使用nums1后半部分的空闲位置来进行逆排序,使得时间复杂度为m+n。2、当一数组中存在比二数组中最小的更小的数字时,不需要管。1、当m为0时,直接复制数组,然后返回。但比较方法存在一些问题,使得运行时间为8ms。题目要求:时间复杂度m+n。
2024-01-11 15:59:29
492
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人