题目
我的解答
暴力求解,明显超时。
比较好的答案
方法:动态规划(或者叫贪心?)
思路是:用记录0~
所有元素的最小值,
记录到目前
为止,最大的利润是多少。
相比暴力解法,这里的技巧就在于记录这个,暴力解法每次都需要找
之前的最小元素,而贪心解法是用新进来的元素和之前的最小值比较,如果新进来的元素更小,就更新
nums = [7,1,5,3,6,4]
n = len(nums)
min_price = nums[0]
max_profit = 0
for i in range(1,n):
min_price = min(min_price,nums[i])
max_profit = max(max_profit,nums[i]-min_price)
print("min_price=",min_price)
print("max_profit=",max_profit)