摆烂几天,又来了。
R5-贪心篇(不像)
贪心的常规思路是找到贪心切入点,例如最经典的算法是安排最多活动问题,需要以结束时间排序,然后遍历不冲突,计算最大数即可(每次都选择最早结束的活动)。
贪心算法的使用需要满足贪心特征。即局部最优解等于全局最优解。
对于本题,
暴力算法思路:
利用哈希表记录每天买入能产生的最大利润值,该值通过两层循环遍历查找得到。
超时
class Solution:
def maxProfit(self, prices: List[int]) -> int:
dict=defaultdict(int)
for i in range(len(prices)):
for j in range(i,len(prices)):
if prices[j]-prices[i]>dict[i]:
dict[i]=prices[j]-prices[i]
return max(dict.values())
贪心??