
LeetCode122.买卖股票的最佳时机2Golang版
发布日期:2021-05-08 06:09:45
浏览次数:10
分类:精选文章
本文共 870 字,大约阅读时间需要 2 分钟。
LeetCode122.买卖股票的最佳时机2Golang版
1. 问题描述
给定一个数组,它的第 i 个元素是一支给定股票第 i 天的价格。
设计一个算法来计算你所能获取的最大利润。你可以尽可能地完成更多的交易(多次买卖一支股票)。
注意:你不能同时参与多笔交易(你必须在再次购买前出售掉之前的股票)。
示例 1:
输入: [7,1,5,3,6,4]
输出: 7 解释: 在第 2 天(股票价格 = 1)的时候买入,在第 3 天(股票价格 = 5)的时候卖出, 这笔交易所能获得利润 = 5-1 = 4 。 随后,在第 4 天(股票价格 = 3)的时候买入,在第 5 天(股票价格 = 6)的时候卖出, 这笔交易所能获得利润 = 6-3 = 3 。示例 2:
输入: [1,2,3,4,5]
输出: 4 解释: 在第 1 天(股票价格 = 1)的时候买入,在第 5 天 (股票价格 = 5)的时候卖出, 这笔交易所能获得利润 = 5-1 = 4 。 注意你不能在第 1 天和第 2 天接连购买股票,之后再将它们卖出。 因为这样属于同时参与了多笔交易,你必须在再次购买前出售掉之前的股票。示例 3:
输入: [7,6,4,3,1]
输出: 0 解释: 在这种情况下, 没有交易完成, 所以最大利润为 0。2. 思路
分析该问题,其实是一个理想化的情况。因为是站在上帝视角看问题,股票涨跌都能看到,所以只要是股票涨,就进行交易。
- 从第二天开始遍历,只要股价比前一天高,就把股票增长的钱累加。
3. 代码
func maxProfit(prices []int) int { var profit int = 0 for i := 1; i < len(prices); i++ { if prices[i] > prices[i-1] { profit += prices[i] - prices[i-1] } } return profit}
发表评论
最新留言
路过,博主的博客真漂亮。。
[***.116.15.85]2025年03月20日 17时17分09秒
关于作者

喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
Linux内核结构粗解及关于 shell 通俗理解
2021-05-08
第七周 4.12-4.18
2021-05-08
程序设计入门14 结构体
2021-05-08
程序设计基础75 tips 广度搜索细节问题
2021-05-08
笨办法学python之数据类型
2021-05-08
笨办法学Python之将对象名的字符串类型,转化成相应对象
2021-05-08
ArduPilot源码极速下载手册(一文告别github慢速问题)
2021-05-08
聊一聊那些应该了解的大佬(飞控,人工智能方向)
2021-05-08
ArduPilot+mavros+gazebo+QGC联合仿真初体验
2021-05-08
px4调试bug--添加mavlink_log_info信息
2021-05-08
redis替换字符串命令
2021-05-08
redis向数组中添加值并查看数组长度
2021-05-08
python3基础梳理11python中模块和包
2021-05-08
求出1/1-1/2+1/3-1/4…..1/100的和
2021-05-08
JS编写一个函数,计算三个不同数字的大小,按从小到大顺序打印(穷举法)
2021-05-08
js设置小球的缓冲运动
2021-05-08
DOM的元素,节点选择
2021-05-08
jQuery的简单动画操作
2021-05-08
jQuery实现轮播图效果
2021-05-08
自动视觉检测技术的建模方法
2021-05-08