首页 股吧 正文

[大成沪深300指数]全球股市行情

2024-01-06 01:01:40 4
admin
生意股票的最佳时机II

标题描绘:给定一个数组prices,其间prices[i]是一支给定股票第i天的价格。

规划一个算法来核算你所能获取的最大赢利。你能够尽可能地完结更多的生意(屡次生意一支股票)。

留意:你不能一起参加多笔生意(你必须在再次购买前出售掉之前的股票)。

示例阐明请见LeetCode官网。

来历:力扣(LeetCode)

链接:leetcode-cn/problems/best-time-to-buy-and-sell-stock-ii/

著作权归领扣网络一切。商业转载请联络官方授权,非商业转载请注明出处。

解法一:贪心算法

由于不约束生意的次数,要想得到屡次生意的最大收益,实践上便是要得到正向的差值为正的累加和,由于关于恣意一段正向正差值,实践上都能够假定做了一次生意操作,如果是接连的正差值,则实践上能够看成是一次生意,最小的数为买入操作,最大的数为卖出操作,所以依据贪心算法,详细处理进程如下:

遍历数组,然后将每一段的正向差值为正数的差值都累加到收益里边,最终回来result即为预期最大的收益。

能够参阅LeetCode-121-生意股票的最佳时机,应该还有动态规划的解法。

/**\n*生意股票的最佳时机II\n*/\npublicclassLeetCode_122{\n\n/**\n*贪心算法\n*\n*@paramprices\n*@return\n*/\npublicstaticintmaxProfit(int[]prices){\n//预期最大的收益值\nintresult=0;\nfor(inti=1;i<prices.length;i++){\n//获取每段的正向差值,即为实践的生意操作\nresult+=Math.max(0,prices[i]-prices[i-1]);\n}\nreturnresult;\n}\n\npublicstaticvoidmain(String[]args){\nint[]prices=newint[]{7,1,5,3,6,4};\n//测试用例,希望输出:7\nSystem.out.println(maxProfit(prices));\n}\n}

日子便是一半焰火,一半诗意。手执焰火谋日子,心胸诗意以谋爱。

收藏
分享
海报
4