题解 | #买卖股票的最好时机(一)#

买卖股票的最好时机(一)

https://www.nowcoder.com/practice/64b4262d4e6d4f6181cd45446a5821ec

不太会用动态规划,用了个贪心,看不懂可以留言哈
package main

import "math"
/**
  * 
  * @param prices int整型一维数组 
  * @return int整型
*/
func maxProfit(prices []int) int {
	// write code here
	if len(prices) == 0 {
		return 0
	}
	maxCut := 0 // 记录每个时刻最大差值(只能往前减)
	lens := len(prices)
	bottom := prices[0] //初始时最底部值置为prices[0]
	for i := 1; i < lens; i++ {
		if prices[i] > prices[i-1] { //如果呈递增态,一直往后遍历至转折点
			continue
		} else { //转折点
			maxCut = int(math.Max(float64(prices[i-1]-bottom), float64(maxCut))) //更新最大差值
			bottom = int(math.Min(float64(prices[i]), float64(bottom)))          //更新底部值
		}
	}
	maxCut = int(math.Max(float64(prices[lens-1]-bottom), float64(maxCut)))    //若最后有一段递增,需要额外处理
	return maxCut
}


全部评论

相关推荐

07-09 18:33
门头沟学院 Java
这么逆天每年都有人去???&nbsp;填多益网申就是大型的服从性测试
鲁大牛:辅导员在群里发了这个公司我就申了一下。网申居然要写当场开摄像头写两篇不少于三百字的作文。太逆天了
点赞 评论 收藏
分享
不愿透露姓名的神秘牛友
昨天 17:10
什么素质,我请问呢,要掉小珍珠了。。。又憋屈又生气
Steven267:这不喷回去?花钱是大爷,记住这个道理
点赞 评论 收藏
分享
评论
1
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务