/* 动态规划,连续上升子序列 时间复杂度:O(n) 空间复杂度:O(n) */ classSolution { public: intmaxSales(vector<int>& nums){ int n = nums.size(); if (n == 0) return0;
vector<int> f(n); // base case f[0] = nums[0]; // 状态转移 for (int i = 1; i < n; i ++) { f[i] = max(nums[i], nums[i] + f[i - 1]); } // 得到 nums 的最大子数组 int res = INT_MIN; for (int i = 0; i < n; i ++) { res = max(res, f[i]); }