本文主要是介绍LCR 161.连续天数最高销售额,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
题目来源:
leetcode题目,网址:LCR 161. 连续天数的最高销售额 - 力扣(LeetCode)
解题思路:
动态规划。对于第 i 个元素 sales[i],若以第 i-1 个元素 sales[i-1] 为结尾的最大连续和 f(n-2) 小于等于0 或 f(n-1)+sales[i] <=0,则以当前元素作为新的起始点;否则以 sales[i] 为结尾的最大连续和为 sales[i]+f(n-1)。返回最大值即可。
解题代码:
class Solution {
public:int maxSales(vector<int>& sales) {int big=sales[0];int pre=sales[0];for(int i=1;i<sales.size();i++){if(pre<=0){ pre=0;}pre+=sales[i]; //数组元素可能全部小于 0 big=max(pre,big);}return big;}
};
总结:
官方题解给出了分治和动态规划两种解法。
这篇关于LCR 161.连续天数最高销售额的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!