秋招突击——7/5——复习{}——新作{跳跃游戏II、划分字母区间、数组中的第K个大的元素(模板题,重要)、前K个高频元素}
文章目录
- 引言
- 正文
- 贪心——45 跳跃游戏II
- 个人实现
- 参考实现
- 划分字母区间
- 个人实现
- 参考实现
- 数组中的第K个最大元素
- 个人实现
- 参考做法
- 前K个高频元素
- 个人实现
- 参考实现
- 总结
引言
- 今天就开始的蛮早的,现在是九点多,刚好开始做算法,今天有希望能够将项目的内容整理一下,然后再修改丰富一下我的简历,这个已经拖了很久了,加把劲,累点就累点吧。
-
正文
贪心——45 跳跃游戏II
题目链接
注意
- 所有测试用例都是可到达,所有不用考虑不能到达最终目标的情况
- 边界存在的条件为1的情况,需要考虑一下
- 返回的是最小跳数
- f[i] = f[i -1] + 1,如果f[i-1]到达时已经是最小跳数,那么f[i]的最小跳数就是上一个状态的最小跳数+1
个人实现
- 想着使用动态规划实现,因为上一个状态最小的情况下,到当前状态的最小就是默认加1,想想看怎么做的。
- f[i]表示从0到i的最小跳数,当前是在节点i,那么就遍历在当前nums[i]范围内的所有的跳数,更新一下对应的数组就行了。
class Solution { public: int jump(vector& nums) { vector f(nums.size() + 1,INT_MAX); f[0] = 0; for(int i = 0;i
文章版权声明:除非注明,否则均为主机测评原创文章,转载或复制请以超链接形式并注明出处。