def fn(prices):
profit = 1
for i in range(len(prices) - 1):
if prices[i + 1] >prices[i]:
profit += prices[i + 1] - prices[i]
return profit
不知道为什么后一位减前一位就可以得到结果的可以看一下这个公式:
[n - (n - 1)] + [(n - 1 ) - (n - 2)] + [(n - 2) - (n - 3)] + ... + (2-1) + 1 = n - 1
假设prices = [1, 2], len(prices) 就是 2, range(2) 就是 range(0, 2),就是 0 和 1,两个数字而已。所以不会发生
IndexError: list index out of range
股票可以当天先卖出前一天的,再买入当天的。听说这个叫贪心算法.