[芝麻信用怎么关闭]939
标题:
给定一个数组prices,它的第i个元素prices[i]表明一支给定股票第i天的价格。
你只能挑选某一天买入这只股票,并挑选在未来的某一个不同的日子卖出该股票。规划一个算法来核算你所能获取的最大赢利。
回来你能够从这笔买卖中获取的最大赢利。假如你不能获取任何赢利,回来0。
示例:
输入:[7,1,5,3,6,4]
输出:5
解说:在第2天(股票价格=1)的时分买入,在第5天(股票价格=6)的时分卖出,最大赢利=6-1=5。
留意赢利不能是7-1=6,由于卖出价格需求大于买入价格;一起,你不能在买入前卖出股票。
思路:
动态规划
dp[i]:截止第i天的最大赢利
第i天可执行的操作:不做任何操作、买入股票、卖出股票
对应的dp[i]:dp[i-1]、-price[i]、price[i]-min_price
状况搬运公式:dp[i]=max(dp[i-1],-price[i],price[i]-min_price)
=max(dp[i-1],price[i]-min_price)
该思路的完成见代码一。
调查该思路的状况搬运公式,可知:后一个dp的值只依靠前一个dp的值,一切能够不运用dp数组,而是保护一个变量来记载dp的值,然后进一步优化空间运用,优化后的版别见代码二。
代码一:
classSolution{\npublic:\nintmaxProfit(vector<int>&prices){\nintn=prices.size();\nvector<int>dp(n,0);\n\nintmin_price=prices[0];\ndp[0]=0;\nfor(inti=1;i<n;i++)\n{\ndp[i]=max(dp[i-1],prices[i]-min_price);\nmin_price=min(min_price,prices[i]);\n}\n\nreturndp.back();\n}\n};\t
代码二:
classSolution{\npublic:\nintmaxProfit(vector<int>&prices){\nintn=prices.size();\nintmin_price=prices[0];\nintdp=0;\nfor(inti=1;i<n;i++)\n{\ndp=max(dp,prices[i]-min_price);\nmin_price=min(min_price,prices[i]);\n}\n\nreturndp;\n}\n};
推荐阅读
-
P2P北京辟谣开学时间网贷行业已有上百家出现问题 下一步怎么走?
-
山西证券网上交易系统_95588工行网上银行
-
[东方日报址]科创50指数基金排名(科创50指数etf买哪个好)
-
专项基金投资款用什么科目表示(专项基金属于什么浙江东方集团股份有限公司科目)
-
603861股吧_(002287)奇正藏药
职业医疗类基金,自己自我克制有以来一向未进行择时操作,全体收益呈“荡秋千”状况,为了寻求更多收益,今日来看看晨星上有哪些五星医药优...
-
[保险新闻]pig币
我们好,今天要给我们讲一讲猪币-今天猪币的价格。买卖所是一款十分安全的区块链买卖软件。这款软件运用起来十分的便利,操作简略,没...
-
(002575)群兴玩具行情分析
内容导航指数型基金,曩昔5年成绩最好的前五名是哪些?4店的嘉实多优选机油有一升小瓶装的吗?指数型基金,曩昔5年成绩最好的前五名是哪...
-
[刘煜辉]会计教育报名入口(会计教育网)
初级管帐职称报名进口在哪?需求留意什么?1、初级管帐报名时应该留意什么?报名前须仔细阅读考试相关文件和公告信息,看清要求并稳重...
-
10美元等于多少人民币(10美元对应的600389人民币汇率是多少?)
10美元等于多少人民币?作为一个SEO修改,了解汇率的信息关于咱们的日常作业十分重要。中美两国的交易和经济活动越来越频频,美元与人...
-
[华平股份]王传福:劝雷军别造车是市场误解,正和小米洽谈合作
...