题解 | #连续子数组最大和#
连续子数组最大和
https://www.nowcoder.com/practice/1718131e719746e9a56fb29c40cc8f95
#include <iostream> #include <vector> using namespace std; int main() { int n; cin>>n; vector<int> nums(n, 0); for(int i = 0; i < n; i++){ cin>>nums[i]; } vector<int> dp(n, 0); if(n == 1){ cout<<nums[0]; return 0; } dp[0] = nums[0]; int m = nums[0]; for(int i = 1; i < n; i++){ dp[i] = max(nums[i] + dp[i - 1], nums[i]); m = max(m, dp[i]); } cout<<m; return 0; } // 64 位输出请用 printf("%lld")