2025-12-05 Daily Challenge
Today I have done leetcode's December LeetCoding Challenge with cpp.
December LeetCoding Challenge 5
Description
Count Partitions with Even Sum Difference
You are given an integer array nums of length n.
A partition is defined as an index i where 0 <= i < n - 1, splitting the array into two non-empty subarrays such that:
- Left subarray contains indices
[0, i]. - Right subarray contains indices
[i + 1, n - 1].
Return the number of partitions where the difference between the sum of the left and right subarrays is even.
Example 1:
Input: nums = [10,10,3,7,6]
Output: 4
Explanation:
The 4 partitions are:
[10],[10, 3, 7, 6]with a sum difference of10 - 26 = -16, which is even.[10, 10],[3, 7, 6]with a sum difference of20 - 16 = 4, which is even.[10, 10, 3],[7, 6]with a sum difference of23 - 13 = 10, which is even.[10, 10, 3, 7],[6]with a sum difference of30 - 6 = 24, which is even.
Example 2:
Input: nums = [1,2,2]
Output: 0
Explanation:
No partition results in an even sum difference.
Example 3:
Input: nums = [2,4,6,8]
Output: 3
Explanation:
All partitions result in an even sum difference.
Constraints:
2 <= n == nums.length <= 1001 <= nums[i] <= 100
Solution
class Solution {
public:
int countPartitions(vector<int>& nums) {
int sum = accumulate(nums.begin(), nums.end(), 0);
if(sum % 2) return 0;
return nums.size() - 1;
}
};
// Accepted
// 616/616 cases passed (0 ms)
// Your runtime beats 100 % of cpp submissions
// Your memory usage beats 78.41 % of cpp submissions (22.3 MB)