【LeetCode523】. Continuous Subarray Sum

来源:互联网 发布:淘宝海外代购店铺 编辑:程序博客网 时间:2024/06/11 16:41
/*************************523. Continuous Subarray SumGiven a list of non-negative numbers and a target integer k, write a function to check if the array has a continuous subarray of sizeat least 2 that sums up to the multiple of k, that is, sums up to n*k where n is also an integer.Example 1:Input: [23, 2, 4, 6, 7],  k=6Output: TrueExplanation: Because [2, 4] is a continuous subarray of size 2 and sums up to 6.Example 2:Input: [23, 2, 6, 4, 7],  k=6Output: TrueExplanation: Because [23, 2, 6, 4, 7] is an continuous subarray of size 5 and sums up to 42.*********************//*********************思想:  1.长度分别为2.3.4...size  2.分别求  如果满足sum%k==0  return true,否则返回false  3.注意处理k==0情况**************************/bool continuousSubarraySum(vector<int> nums,int k){int size = nums.size();for (int ii = 2; ii <= size; ++ii){int sum = 0;for (int jj = 0; jj < ii; ++jj){sum = sum + nums[jj];}if (k == 0){if (sum == 0)return true;}else{if (sum%k == 0)return true;}for (int kk = ii; kk < size; ++kk){sum = sum - nums[kk - ii] + nums[kk];if (k == 0){if (sum == 0)return true;}else{if (sum%k == 0)return true;} } } return false;}
0 0
原创粉丝点击