买卖股票的最佳时机 II Java (贪心算法)
题目
给定一个数组 prices ,其中 prices[i] 是一支给定股票第 i 天的价格。
设计一个算法来计算你所能获取的最大利润。你可以尽可能地完成更多的交易(多次买卖一支股票)。
注意:你不能同时参与多笔交易(你必须在再次购买前出售掉之前的股票)。
实例
示例 1:
输入: prices = [7,1,5,3,6,4]
输出: 7
解释: 在第 2 天(股票价格 = 1)的时候买入,在第 3 天(股票价格 = 5)的时候卖出, 这笔交易所能获得利润 = 5-1 = 4 。
随后,在第 4 天(股票价格 = 3)的时候买入,在第 5 天(股票价格 = 6)的时候卖出, 这笔交易所能获得利润 = 6-3 = 3 。
示例 2:
输入: prices = [1,2,3,4,5]
输出: 4
解释: 在第 1 天(股票价格 = 1)的时候买入,在第 5 天 (股票价格 = 5)的时候卖出, 这笔交易所能获得利润 = 5-1 = 4 。
注意:你不能在第 1 天和第 2 天接连购买股票,之后再将它们卖出。因为这样属于同时参与了多笔交易,你必须在再次购买前出售掉之前的股票。
代码
class Solution {public int maxProfit(int[] prices) {int profit = 0;for (int i = 0; i < prices.length - 1; i++) {if (prices[i] < prices[i + 1]) {//后一天的价格比前一天高,则卖出profit += prices[i + 1] - prices[i];}}return profit;}
}
算法思想
这个算法还是很简单的,(贪心算法),当前价格,如果当前价格i比i+1高,则不是买入点,
则继续判断下一个位置。
如果当前位置i的价格比i+1的价格低,则在当前位置买入,知道i+n比i+n+1大时,卖出。
继续下一轮判断。
说的简单一点就是:只要后项大于前项,则累加到结果值中。
乾坤未定,你我皆是黑马。
客官都看这了,点个赞呗!
买卖股票的最佳时机 II Java (贪心算法)相关推荐
- leetcode 122. 买卖股票的最佳时机 II(贪心算法)
给定一个数组,它的第 i 个元素是一支给定股票第 i 天的价格. 设计一个算法来计算你所能获取的最大利润.你可以尽可能地完成更多的交易(多次买卖一支股票). 注意:你不能同时参与多笔交易(你必须在再次 ...
- 122. 买卖股票的最佳时机 II008(贪心算法+思路)
一:题目 给定一个数组 prices ,其中 prices[i] 是一支给定股票第 i 天的价格. 设计一个算法来计算你所能获取的最大利润.你可以尽可能地完成更多的交易(多次买卖一支股票). 注意:你 ...
- 【LeetCode - 122】买卖股票的最佳时机 II(贪心 或 dp)
题目链接:https://leetcode-cn.com/problems/best-time-to-buy-and-sell-stock-ii/ 给定一个数组,它的第 i 个元素是一支给定股票第 i ...
- JAVA刷Leecode-贪心算法-区间问题-买卖股票的最佳时机 II
JAVA刷Leecode-贪心算法 算法思想 区间问题-买卖股票的最佳时机 II(122.,easy) 题目描述 输入输出样例 示例1 示例 2: 解题思路: 题解 解题思路:贪心算法 题解 资源学习 ...
- _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循环 贪心算法 思路 分析 ...
- 算法训练Day49 | Leetcode121. 买卖股票的最佳时机(只能买卖一次);LeetCode122. 买卖股票的最佳时机II(可以买卖多次)
目录 Leetcode121. 买卖股票的最佳时机 方法一:暴力解法 1. 思路 2. 代码实现 3. 复杂度分析 4. 思考与收获 方法二:贪心算法 1. 思路 2. 代码实现 3. 复杂度分析 方 ...
- _42LeetCode代码随想录算法训练营第四十二天-动态规划 | 121.买卖股票的最佳时机、122.买卖股票的最佳时机II
_42LeetCode代码随想录算法训练营第四十二天-动态规划 | 121.买卖股票的最佳时机.122.买卖股票的最佳时机II 题目列表 121.买卖股票的最佳时机 122.买卖股票的最佳时机II 1 ...
- LintCode领扣算法问题答案:150. 买卖股票的最佳时机 II
150. 买卖股票的最佳时机 II 描述 给定一个数组 prices 表示一支股票每天的价格. 你可以完成任意次数的交易, 不过你不能同时参与多个交易 (也就是说, 如果你已经持有这支股票, 在再次购 ...
最新文章
- 如何解决C/C++中stack overflow问题
- python RuntimeError: maximum recursion depth exceeded
- flutter 图解_Flutter自绘组件:微信悬浮窗(三)
- MySQL查询出2门及2门以上不及格者的平均成绩
- HTML rel 属性
- 浅谈JavaScript继承
- Lync 小技巧-17-查询Lync 2013聊天记录
- 如何在Github上找到“最受欢迎的存储库”? [关闭]
- 台式电脑备用电源_台式电源哪家稳?华硕 TUF GAMING六年质保,坚如磐石_电脑电源...
- 采矿协议_采矿电信产品推荐
- hive中groupby优化_工作中总结的关于hive的优化方案
- js划词翻译、屏幕取词,取词位置获取(真正解决定位问题)
- Unable to find setter method for attribute: [commandName]
- Matlab更改计算机用户名
- 程序员的工作总结(2017-12-04)
- 准备写个linux下的千千静听
- IDEA 出现问题:PSI and index do not match 解决方案
- 如何破解Amazon 登陆 metadata1值?Amazon 登陆 metadata1 形成的主要混淆的js研究
- Web端与App端自动化测试框架
- “Ipad Mini 12月7日在国内上市时都需要摇号预订
热门文章
- VBS教程--摘自百度百科
- python星号直角三角形边长公式_三角形边长计算公式大全
- 国信证券有限责任公司关于创设南航认沽权证的公告
- 游戏制作之路(3)Blender制作极简动画
- git cz 代替 git commit,让提交信息更加明确
- BitTorrent 性能卓越的原因
- 计算机导论知识组织结构与分类体系,计算机导论论文参考
- 台式电脑开机显示蓝屏 检查计算机上的病毒,电脑出现蓝屏问题的诊断以及处理的方法...
- 主流手机CPU及机型介绍!手机CPU生产厂商介绍!高通QSD8250、MSM8255、TI OMAP 3630、nVIDIA Tegra 2介绍
- 家用智能摄像头横评:小米、华为海雀、TP-LINK、智汀