2023年9月4日 星期一

[918] Maximum Sum Circular Subarray

其實我不知道發生了什麼事
賺題數?!(這妳也好意思說?!)

去看一下討論區的精闢解說和證明 QQ

int maxSubarraySumCircular(int* nums, int numsSize){
int max, min, total, max_sum, min_sum;
max_sum = 0;
min_sum = 0;
max = INT_MIN;
min= INT_MAX;
total = 0;
for (int i=0;i<numsSize; i++)
{
total+=nums[i];
max_sum += nums[i];
max_sum = (max_sum > nums[i])? max_sum: nums[i];
min_sum += nums[i];
min_sum = (min_sum < nums[i])? min_sum: nums[i];
if (max_sum > max)
max = max_sum;
if (min_sum < min)
min= min_sum;

}
if (max >0 )
return (max > (total - min)? max : (total - min));
else
return max;
}


沒有留言:

張貼留言