买卖股票的最佳时机 II——力扣122题
力扣122——买卖股票的最佳时机 II
给定一个整数数组 prices ,其中 prices[i] 表示某支股票第 i 天的价格。
在每一天,你可以决定是否购买和/或出售股票。你在任何时候 最多 只能持有 一股 股票。你也可以先购买,然后在 同一天 出售。
返回 你能获得的 最大 利润 。
输入:prices = [7,1,5,3,6,4]
输出:7
在第 2 天(股票价格 = 1)的时候买入,在第 3 天(股票价格 = 5)的时候卖出, 这笔交易所能获得利润 = 5 - 1 = 4 。
在第 4 天(股票价格 = 3)的时候买入,在第 5 天(股票价格 = 6)的时候卖出, 这笔交易所能获得利润 = 6 - 3 = 3 。
总利润为 4 + 3 = 7 。
解题思路
此处撰写解题思路
对于这道题,最主要的就是先观察利润可以如何产生,就算最大的利润也可以通过前后比较叠加得到。比如 [1 , 3 , 5]中,能够通过2+2从而得到5-1=4这个利润。这样问题就好办了:
1. 首先我们定义一个最终能获得的总利润total
`int total = 0;`
2. 再在循环中确定每次能获取的叠加部分的利润
``int present = 0;``
3. 通过遍历中对前后数据比较,如果数组中前一个数据小于后一个,那么我们就可以累加这一次的利润,最终一次遍历就可以得到我们需要的结果。
if (prices[i] < prices[i+1]) {present = prices[i+1] - prices[i];total += present;} else {present=0;}
代码
class Solution {public int maxProfit(int[] prices) {int total = 0;for (int i = 0; i < prices.length-1; i++) {int present = 0;if (prices[i] < prices[i+1]) {present = prices[i+1] - prices[i];total += present;} else {present=0;}}return total;}
}
买卖股票的最佳时机 II——力扣122题相关推荐
- 力扣刷题day42|121买卖股票的最佳时机、122买卖股票的最佳时机II
文章目录 121. 买卖股票的最佳时机 贪心思路 动态规划思路 动态规划五部曲 122. 买卖股票的最佳时机II 贪心思路 动态规划思路 动态规划五部曲 121. 买卖股票的最佳时机 力扣题目链接 给 ...
- Day32——122.买卖股票的最佳时机II 55. 跳跃游戏 45.跳跃游戏II +第二天复习
赶上进度,冲冲冲 目录 前言 一.买卖股票的最佳时机II 二.跳跃游戏 解题思路: 三.跳跃游戏|| 总结 前言 生命能与世俗相契合,才能不朽,生命的整体是象征的,因为他是有意义的. --<日瓦 ...
- 算法训练Day49 | Leetcode121. 买卖股票的最佳时机(只能买卖一次);LeetCode122. 买卖股票的最佳时机II(可以买卖多次)
目录 Leetcode121. 买卖股票的最佳时机 方法一:暴力解法 1. 思路 2. 代码实现 3. 复杂度分析 4. 思考与收获 方法二:贪心算法 1. 思路 2. 代码实现 3. 复杂度分析 方 ...
- 力扣贪心算法专题(一)455.分发饼干 376. 摆动序列 53. 最大子序和 122.买卖股票的最佳时机II 1005.K次取反后最大化的数组和 思路及C++实现 贪心算法 动态规划
文章目录 贪心算法 455.分发饼干 思路 步骤 代码 376. 摆动序列 贪心算法 思路 分析 代码 动态规划 思路 步骤 代码 53. 最大子序和 暴力解法 双层for循环 贪心算法 思路 分析 ...
- 力扣 买卖股票的最佳时机II
力扣 买卖股票的最佳时机II 题目描述 给定一个数组,它的第 i 个元素是一支给定股票第 i 天的价格. 设计一个算法来计算你所能获取的最大利润.你可以尽可能地完成更多的交易(多次买卖一支股票). 注 ...
- 122. 买卖股票的最佳时机 II
121. 买卖股票的最佳时机 122. 买卖股票的最佳时机 II 123. 买卖股票的最佳时机 III 188. 买卖股票的最佳时机 IV 309. 最佳买卖股票时机含冷冻期 714. 买卖股票的最佳 ...
- _42LeetCode代码随想录算法训练营第四十二天-动态规划 | 121.买卖股票的最佳时机、122.买卖股票的最佳时机II
_42LeetCode代码随想录算法训练营第四十二天-动态规划 | 121.买卖股票的最佳时机.122.买卖股票的最佳时机II 题目列表 121.买卖股票的最佳时机 122.买卖股票的最佳时机II 1 ...
- _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 天的价格.设计一个算法来计算你所能获取的最大利润.你可以尽可能地完成更多的交易(多次买卖一支股票 ...
最新文章
- 延展信息按单制造ERP荣获2012中国软件优秀解决方案奖
- DEDE 字符串操作常见问题
- android入门--环境搭建
- 面试提问vue中v-if与v-show的区别以及使用场景
- 远控免杀专题(15)-DKMC免杀
- 房地产税迟早要来,而且会带来房价小涨。
- python 购物车程序_Python 购物车程序(文件版)
- linux 端口 操作
- Java代码质量改进之:使用ThreadLocal维护线程内部变量
- PHP性能:序——谈ab(Apache Bench)压力测试工具
- 系统分析师教程电子版免费下载
- 树莓派3B的摄像头模块
- HTML5网页设计的基本知识-几个概念
- 环境监测神器——智慧环境监测数据可视化平台
- 【Linux】gcc编译工具,断点的设置,gdb调试
- IP地址中的网络地址和主机地址分别是什么意思
- echarts树状图怎么设置主节点和子节点的距离_教你秒懂CAD出图比例正确设置技巧...
- iOS-VLCKit实现仿网易云音乐播放音乐
- Codeforces Round #657 (Div. 2)B. Dubious Cyrpto
- android手机用户,ZDC:2011年Android手机用户使用行为研究报告
热门文章
- 常系数齐次线性微分方程
- 最新上海阿里巴巴笔试题分享
- 读书笔记--《伽利略的苦恼》
- 猴痘与非猴痘(水痘、麻疹)的二元分类数据集
- linux常用终端命令参数整理
- HTB_Preignition 靶机之 Http 协议与目录暴破
- unity中如何多屏显示
- KB奇遇记(5):十大问题之战
- STM32F103—使用通用定时器控制开关
- std::map使用std::piecewise_construct std::forward_as_tuple