121. 买卖股票的最佳时机 - 力扣(LeetCode)
统计前i天最小的买入价格时,计算在第i天卖出是否能得到最大利润
func maxProfit(prices []int) int {
left_min := prices[0]
ans := 0
for i := 1; i < len(prices); i++ {
left_min = min(left_min, prices[i])
ans = max(ans, prices[i] - left_min)
}
return ans
}
从左到右维护能跳到的最右区间,当最右区间大于等于最后一个下标时,返回true
func canJump(nums []int) bool {
max_r := 0
for i := 0; i <= max_r; i++ {
max_r = max(max_r, i + nums[i])
if max_r >= len(nums) - 1 {
return true
}
}
return false
}