动态规划
int maxSubArray(int* nums, int numsSize) { int dp[numsSize]; for (int k = 0; k < numsSize; k++) { dp[k] = 0; } dp[0] = nums[0]; for (int i = 1; i < numsSize; i++) { if (dp[i - 1] < 0) { dp[i] = nums[i]; } else { dp[i] = dp[i - 1] + nums[i]; } } int max = dp[0]; for (int j = 1; j < numsSize; j++) { if (dp[j] > dp[j - 1]) { max = dp[j]; } } return max; }
最大连续子数组和
最新推荐文章于 2024-05-20 20:08:58 发布