买卖股票的最佳时机II

买卖股票的最佳时机II

我的思路:
	说实话,这个我虽然想了半天,但还是在实现的时候出现了障碍,总之还是逻辑上的问题。
看完大佬的思路,我的思路:
	做什么事只关注眼前利益,从第一天开始(忽略第0天)。如果今天的利润减去昨天的利润为正,那么昨天就买入,
	然后今天卖出(这样就防止亏本),并把利润差统计出来;到明天的时候再进行这样的判断,进行循环操作,直到
	最后一天。并不需要给顶什么标志,再循环比较(我的思路就是这样!)。
我的代码:
		from typing import List
		def maxProfit(prices: List[int]) -> int:
			i = 1
			maxp = 0
			while i < len(prices):
				if prices[i-1]<prices[i]:
					sum = prices[i] - prices[i - 1]
					if sum > 0:
						maxp = maxp + sum
				i += 1
			return maxp
大佬的代码:
		def maxProfit(self, prices: List[int]) -> int:
			profit = 0
			for i in range(1, len(prices)):
				if prices[i] > prices[i - 1]:
					profit += (prices[i] - prices[i - 1])
			return profit
我对大佬代码的理解:
	还是从第一天开始的(忽略第0天),如果今天利润大于昨天的利润,就把利润差累加给总利润。真是简单!
	循环时使用range,这样都不用给变量加1了,直接创建一个列表,然后通过in循环列表,传统中还需要递加
	变量。在这儿还需要关注循环的次数,也即是range的特征。666
	我真菜!!!
range

就是创建个数列表,可以控制数的范围,还可以限定步长。以后再循环中可以当作循环条件。
注意
range(1,10)
[1,2,3,4,5,6,7,8,9]

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值