求编程题思路

求个编程题(from度小满笔试)思路:
一个商人依次经过城市1,2,3,...,N(1<=i<=N),这些城市都流通着一种商品,各城市对应的流通价格为Ai,请问该商人的最大收益是多少,要求交易次数最少,且任意时刻该商人最多持有一件该商品,到达每个城市后该商人可以选择买入,卖出或什么都不做,另外假设商人初始金钱无穷多。
示例:
N=4
各城市流通价格[7,5,10,15]
则输出最大收益为10,交易次数为2(5元买入,15元卖出)
#度小满##笔试题目#
全部评论
leetcode 122题
点赞 回复 分享
发布于 2019-04-20 11:41
网络流
点赞 回复 分享
发布于 2019-04-20 10:59
不是贪心即可嘛,求出多少个升续段求和即可,大佬勿喷(逃
点赞 回复 分享
发布于 2019-04-20 11:23
有点像k次股票买,应该是用dp
点赞 回复 分享
发布于 2019-04-20 11:26
leetcode122?
点赞 回复 分享
发布于 2019-04-20 11:37
dp或者贪心。我觉得dfs也能过一半
点赞 回复 分享
发布于 2019-04-20 11:40
https://blog.csdn.net/Dr_Unknown/article/details/51939121 股票交易问题~
点赞 回复 分享
发布于 2019-04-20 12:00
找到相邻的波谷和波峰就行了
点赞 回复 分享
发布于 2019-04-20 12:47
dp 买卖股票题
点赞 回复 分享
发布于 2019-04-20 12:50
n=int(input()) num=[int(i) for i in input().split()] profit=0 count=0 deal=0 for i in range(1,n):    ##要根据后面的情况才能确定是否要在前面某时刻买下神秘石     if num[i]>num[i-1]:         profit+=num[i]-num[i-1]         if deal==0:    ##如果说没买神秘石             count+=1   #买下它,交易数加1         deal=1         #拥有了神秘石     if num[i]<num[i-1]: #如果后面降价         count+=deal     #拥有神秘石就卖,没有神秘石就不交易         deal=0 print(profit,count) 同意前面一位同学@技术无产阶级 的观点,其实就是找相邻的波峰波谷。
点赞 回复 分享
发布于 2019-08-19 15:27

相关推荐

昨天 09:08
裁应届生,一分钱补偿没有,离职了还脑控你,跟踪你,定位你,丁东服务是搞系每一个人
牛客吹哨人:建议细说...哨哥晚点统一更新到黑名单:不要重蹈覆辙!25届毁意向毁约裁员黑名单https://www.nowcoder.com/discuss/1317104
叮咚买菜稳定性 10人发布 投递叮咚买菜等公司10个岗位 >
点赞 评论 收藏
分享
Yushuu:你的确很厉害,但是有一个小问题:谁问你了?我的意思是,谁在意?我告诉你,根本没人问你,在我们之中0人问了你,我把所有问你的人都请来 party 了,到场人数是0个人,誰问你了?WHO ASKED?谁问汝矣?誰があなたに聞きましたか?누가 물어봤어?我爬上了珠穆朗玛峰也没找到谁问你了,我刚刚潜入了世界上最大的射电望远镜也没开到那个问你的人的盒,在找到谁问你之前我连癌症的解药都发明了出来,我开了最大距离渲染也没找到谁问你了我活在这个被辐射蹂躏了多年的破碎世界的坟墓里目睹全球核战争把人类文明毁灭也没见到谁问你了😆
点赞 评论 收藏
分享
点赞 6 评论
分享
牛客网
牛客企业服务