#include<stdio.h>
int maxSubArray(int* nums, int numsSize){
for (int i = 1; i < numsSize; i ++ ) //从第二个数字开始遍历,前一个数字大于零的时候就把他变成他与前一个数字的和
{
if(nums[i - 1] > 0)
{
nums[i] = nums[i] + nums[i - 1];
}
}
int max = -1000000;
for(int i = 0 ; i < numsSize; i ++ ) //遍历找出最大的数组,就是最大子数组和
{
if(nums[i] > max)
{
max = nums[i];
}
}
return max;
}
int main()
{
int sum = 0;
int nums[100] = {1};
sum = maxSubArray(nums,10);
printf(“%d”,sum);
return 0;
}
【无标题】
最新推荐文章于 2024-06-12 10:00:23 发布