赶上进度,冲冲冲

目录

前言

一、买卖股票的最佳时机II

二、跳跃游戏

解题思路:

三、跳跃游戏||

总结



前言

生命能与世俗相契合,才能不朽,生命的整体是象征的,因为他是有意义的.

——《日瓦戈医生》


一、买卖股票的最佳时机II

力扣

给你一个整数数组 prices ,其中 prices[i] 表示某支股票第 i 天的价格。

在每一天,你可以决定是否购买和/或出售股票。你在任何时候 最多 只能持有 一股 股票。你也可以先购买,然后在 同一天 出售。

返回 你能获得的 最大 利润 。

解题思路:

我一开始是这么想的,我怎么才能让它知道,什么时候该买什么时候该卖呢,我知道全局来算肯定简单,它不知道,我要怎么告诉它,太难了!看答案hhh

but,我们不需要告诉它,我们知道就行,只要我们拆开,把没两天的差值(利润)都算出来,只拿正收入不就行了嘛。因为你在那里同一天卖了在买,到下一天卖,其实就等于是分散的。

class Solution {
public:int maxProfit(vector<int>& prices) {int sum=0;for(int i=0;i<prices.size()-1;i++){if(prices[i+1]-prices[i]>0)        //只要正收入{sum+=prices[i+1]-prices[i];}}return sum;}
};

二、跳跃游戏

力扣

解题思路:

我们用覆盖范围来做,只要覆盖到了终点就行了。

class Solution {
public:bool canJump(vector<int>& nums) {if(nums.size()==1){return true;}int disance=0;for(int i=0;i<=disance;i++)    //重点,我们只在已经覆盖的区域里遍历,因为我们跳不出去{disance=max(disance,nums[i]+i);    //取最大的if(disance>=nums.size()-1)        {return true;}}return false;}
};

三、跳跃游戏||

和上一题非常像,也是用范围覆盖来求,只不过因为要计算步骤,所以复杂一点。

class Solution {
public:int jump(vector<int>& nums) {if(nums.size()==1){return 0;}int curindance=0;        //上一个距离int nextindance=0;        //下一个距离int ans=0;            //步数for(int i=0;i<nums.size();i++){nextindance=max(nextindance,i+nums[i]);        //更新最大覆盖范围if(i==curindance)          //如果已经走到尽头了,在覆盖范围内选下一个覆盖范围{if(curindance!=nums.size()-1)        //还没到终点{curindance=nextindance;        //跳一步,扩大范围ans++;if(nextindance>=nums.size()-1)    //找到了{break;}}else{break;}}}return ans;}
};

第二天复习:

1、先排序,两边就是最大的,然后双指针,平方,取最大的,最后再反转

2、滑动窗口,注意双指针移动

3、螺旋数组,感觉难


总结

复习,迷茫了。

Day32——122.买卖股票的最佳时机II 55. 跳跃游戏 45.跳跃游戏II +第二天复习相关推荐

  1. _28LeetCode代码随想录算法训练营第二十八天-贪心算法 | 122.买卖股票的最佳时机II 、55.跳跃游戏、45.跳跃游戏II

    _28LeetCode代码随想录算法训练营第二十八天-贪心算法 | 122.买卖股票的最佳时机II .55.跳跃游戏.45.跳跃游戏II 题目列表 122.买卖股票的最佳时机II 55.跳跃游戏 45 ...

  2. 代码随想录算法训练营第三十二天_第八章_贪心算法 | 122.买卖股票的最佳时机II、55. 跳跃游戏、45.跳跃游戏II

    LeetCode 122.买卖股票的最佳时机II 给定一个数组,它的第 i 个元素是一支给定股票第 i 天的价格.设计一个算法来计算你所能获取的最大利润.你可以尽可能地完成更多的交易(多次买卖一支股票 ...

  3. 力扣贪心算法专题(一)455.分发饼干 376. 摆动序列 53. 最大子序和 122.买卖股票的最佳时机II 1005.K次取反后最大化的数组和 思路及C++实现 贪心算法 动态规划

    文章目录 贪心算法 455.分发饼干 思路 步骤 代码 376. 摆动序列 贪心算法 思路 分析 代码 动态规划 思路 步骤 代码 53. 最大子序和 暴力解法 双层for循环 贪心算法 思路 分析 ...

  4. 力扣刷题day42|121买卖股票的最佳时机、122买卖股票的最佳时机II

    文章目录 121. 买卖股票的最佳时机 贪心思路 动态规划思路 动态规划五部曲 122. 买卖股票的最佳时机II 贪心思路 动态规划思路 动态规划五部曲 121. 买卖股票的最佳时机 力扣题目链接 给 ...

  5. 122. 买卖股票的最佳时机 II

    121. 买卖股票的最佳时机 122. 买卖股票的最佳时机 II 123. 买卖股票的最佳时机 III 188. 买卖股票的最佳时机 IV 309. 最佳买卖股票时机含冷冻期 714. 买卖股票的最佳 ...

  6. _42LeetCode代码随想录算法训练营第四十二天-动态规划 | 121.买卖股票的最佳时机、122.买卖股票的最佳时机II

    _42LeetCode代码随想录算法训练营第四十二天-动态规划 | 121.买卖股票的最佳时机.122.买卖股票的最佳时机II 题目列表 121.买卖股票的最佳时机 122.买卖股票的最佳时机II 1 ...

  7. day52| ● 121. 买卖股票的最佳时机 ● 122.买卖股票的最佳时机II

    121. 买卖股票的最佳时机 1.代码 class Solution { public:int maxProfit(vector<int>& prices) { vector< ...

  8. 【第49天|● 121. 买卖股票的最佳时机 ● 122.买卖股票的最佳时机II 】

    121. 买卖股票的最佳时机 class Solution {public:int maxProfit(vector<int>& prices) {int res =0;int m ...

  9. 122. 买卖股票的最佳时机 II(JavaScript)

    给定一个数组,它的第 i 个元素是一支给定股票第 i 天的价格. 设计一个算法来计算你所能获取的最大利润.你可以尽可能地完成更多的交易(多次买卖一支股票). 注意:你不能同时参与多笔交易(你必须在再次 ...

最新文章

  1. self.navigationController push到指定控制器
  2. linux中的shell有printf吗,Linux Shell系列教程之(八)Shell printf命令详解
  3. webscraper多页爬取_数据收集:web scraper 多页(无规律url)抓取
  4. linux系统硬盘表识
  5. php json传值ajax,ajax 与PHP json 传值
  6. 海康威视智能机器人泊车_干货|海康威视智能停车场管理系统(含技术指导手册+施工图)...
  7. Angular.js 最强学习资源合集
  8. 数据库MySQL安装
  9. 在计算机组成原理中x,计算机组成原理xu2.ppt
  10. LA 4123 (计数 递推) Glenbow Museum
  11. in-list iterator
  12. 生活大爆炸系列之制作望远镜架
  13. .net core 1.1 mysql_Asp.net Core 1.1 升级后操作mysql出错的解决办法|chu
  14. 2021网安保研之路-----中科院信工所
  15. MATLAB创建数组方法
  16. 计算机系要高考英语口语吗,高考英语口语考试_高考英语口语考试到底有什么用?很重要么?...
  17. 关于使用实验室服务器的GPU以及跑上TensorFlow代码
  18. 医疗健康大数据基础知识
  19. 精辟,16张图说透Modbus-RTU协议
  20. ubuntu下解决zip解压缩后乱码

热门文章

  1. Android高级架构师整理面试经历发现?(大厂面经,移动端静态网站开发
  2. 引入vue.js的项目如何实现ie兼容
  3. 查看windows中WLAN配置文件、无线相关
  4. 【web框架】Bootstrap框架使用
  5. CSS——CSS滑动门及其应用(制作微信导航栏) ※
  6. win7旗舰版64位搭建FTP服务器
  7. 储能电站建设运行及效益分析
  8. practice it BJP3 Exercise 7.18: wordLengths
  9. HyperLogLog--统计用户访问量
  10. IOS 初级开发入门教程(四)基础控件使用小练习