Day32——122.买卖股票的最佳时机II 55. 跳跃游戏 45.跳跃游戏II +第二天复习
赶上进度,冲冲冲
目录
前言
一、买卖股票的最佳时机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 +第二天复习相关推荐
- _28LeetCode代码随想录算法训练营第二十八天-贪心算法 | 122.买卖股票的最佳时机II 、55.跳跃游戏、45.跳跃游戏II
_28LeetCode代码随想录算法训练营第二十八天-贪心算法 | 122.买卖股票的最佳时机II .55.跳跃游戏.45.跳跃游戏II 题目列表 122.买卖股票的最佳时机II 55.跳跃游戏 45 ...
- 代码随想录算法训练营第三十二天_第八章_贪心算法 | 122.买卖股票的最佳时机II、55. 跳跃游戏、45.跳跃游戏II
LeetCode 122.买卖股票的最佳时机II 给定一个数组,它的第 i 个元素是一支给定股票第 i 天的价格.设计一个算法来计算你所能获取的最大利润.你可以尽可能地完成更多的交易(多次买卖一支股票 ...
- 力扣贪心算法专题(一)455.分发饼干 376. 摆动序列 53. 最大子序和 122.买卖股票的最佳时机II 1005.K次取反后最大化的数组和 思路及C++实现 贪心算法 动态规划
文章目录 贪心算法 455.分发饼干 思路 步骤 代码 376. 摆动序列 贪心算法 思路 分析 代码 动态规划 思路 步骤 代码 53. 最大子序和 暴力解法 双层for循环 贪心算法 思路 分析 ...
- 力扣刷题day42|121买卖股票的最佳时机、122买卖股票的最佳时机II
文章目录 121. 买卖股票的最佳时机 贪心思路 动态规划思路 动态规划五部曲 122. 买卖股票的最佳时机II 贪心思路 动态规划思路 动态规划五部曲 121. 买卖股票的最佳时机 力扣题目链接 给 ...
- 122. 买卖股票的最佳时机 II
121. 买卖股票的最佳时机 122. 买卖股票的最佳时机 II 123. 买卖股票的最佳时机 III 188. 买卖股票的最佳时机 IV 309. 最佳买卖股票时机含冷冻期 714. 买卖股票的最佳 ...
- _42LeetCode代码随想录算法训练营第四十二天-动态规划 | 121.买卖股票的最佳时机、122.买卖股票的最佳时机II
_42LeetCode代码随想录算法训练营第四十二天-动态规划 | 121.买卖股票的最佳时机.122.买卖股票的最佳时机II 题目列表 121.买卖股票的最佳时机 122.买卖股票的最佳时机II 1 ...
- day52| ● 121. 买卖股票的最佳时机 ● 122.买卖股票的最佳时机II
121. 买卖股票的最佳时机 1.代码 class Solution { public:int maxProfit(vector<int>& prices) { vector< ...
- 【第49天|● 121. 买卖股票的最佳时机 ● 122.买卖股票的最佳时机II 】
121. 买卖股票的最佳时机 class Solution {public:int maxProfit(vector<int>& prices) {int res =0;int m ...
- 122. 买卖股票的最佳时机 II(JavaScript)
给定一个数组,它的第 i 个元素是一支给定股票第 i 天的价格. 设计一个算法来计算你所能获取的最大利润.你可以尽可能地完成更多的交易(多次买卖一支股票). 注意:你不能同时参与多笔交易(你必须在再次 ...
最新文章
- self.navigationController push到指定控制器
- linux中的shell有printf吗,Linux Shell系列教程之(八)Shell printf命令详解
- webscraper多页爬取_数据收集:web scraper 多页(无规律url)抓取
- linux系统硬盘表识
- php json传值ajax,ajax 与PHP json 传值
- 海康威视智能机器人泊车_干货|海康威视智能停车场管理系统(含技术指导手册+施工图)...
- Angular.js 最强学习资源合集
- 数据库MySQL安装
- 在计算机组成原理中x,计算机组成原理xu2.ppt
- LA 4123 (计数 递推) Glenbow Museum
- in-list iterator
- 生活大爆炸系列之制作望远镜架
- .net core 1.1 mysql_Asp.net Core 1.1 升级后操作mysql出错的解决办法|chu
- 2021网安保研之路-----中科院信工所
- MATLAB创建数组方法
- 计算机系要高考英语口语吗,高考英语口语考试_高考英语口语考试到底有什么用?很重要么?...
- 关于使用实验室服务器的GPU以及跑上TensorFlow代码
- 医疗健康大数据基础知识
- 精辟,16张图说透Modbus-RTU协议
- ubuntu下解决zip解压缩后乱码