【LeetCode523】. Continuous Subarray Sum
2017-03-08 21:28
417 查看
/************************* 523. Continuous Subarray Sum Given a list of non-negative numbers and a target integer k, write a function to check if the array has a continuous subarray of size at 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=6 Output: True Explanation: Because [2, 4] is a continuous subarray of size 2 and sums up to 6. Example 2: Input: [23, 2, 6, 4, 7], k=6 Output: True Explanation: 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; }
相关文章推荐
- LeetCode 523 Continuous Subarray Sum (同余)
- LeetCode - 523 - Continuous Subarray Sum
- LeetCode 523: Continuous Subarray Sum
- [leetcode523]Continuous Subarray Sum
- LeetCode: -Dynamic Programming-Continuous Subarray Sum[523]
- leetcode523 Continuous Subarray Sum
- Math-523-Continuous Subarray Sum
- 523. Continuous Subarray Sum
- 523. Continuous Subarray Sum
- [LeetCode] Continuous Subarray Sum
- [LeetCode]Continuous Subarray Sum
- 【leetCode523】Continuous Subarry Sum
- 523-Continuous Subarray Sum
- 523. Continuous Subarray Sum
- 523. Continuous Subarray Sum
- 523. Continuous Subarray Sum
- 523. Continuous Subarray Sum
- 523. Continuous Subarray Sum
- LeetCode Continuous Subarray Sum
- 523. Continuous Subarray Sum