#include <algorithm> #include <vector> class Solution { public: /** * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 * * * @param array int整型vector * @return int整型 */ int FindGreatestSumOfSubArray(vector<int>& array) { // write code here // 有点像股票买卖,不对,不一样 if(array.empty()) return 0; int n = array.size(); vector<int> dp(n,0); dp[0] = array[0]; for(int i=1; i<n; ++i) { dp[i] = max(dp[i-1]+array[i],array[i]); } return *max_element(dp.begin(), dp.end()); // 暴力,不满足时间空间要求 // 用例通过率:50.00% // int n = array.size(); // int ans=INT_MIN; // for(int i=0; i<n; ++i) // { // int sum = 0; // for(int j=i; j<n; ++j) // { // sum += array[j]; // ans = max(ans,sum); // } // } // return ans; } };