class Solution {
public:
int waysToMakeFair(vector<int>& nums) {
int ans = 0, odd_sum = 0, even_sum = 0;
int odd_sum_pri = 0, even_sum_pri = 0;
for (int i = 0; i < nums.size(); i++) {
if (i & 1)odd_sum += nums[i];
else even_sum += nums[i];
}
for (int i = 0; i < nums.size(); i++) {
if (2 * even_sum_pri + odd_sum - i % 2 * nums[i] == 2 * odd_sum_pri + even_sum - (i + 1) % 2 * nums[i])
ans++;
if (i & 1) odd_sum_pri += nums[i];
else even_sum_pri += nums[i];
}
return ans;
}
};
1664. 生成平衡数组的方案数
最新推荐文章于 2024-06-12 10:00:23 发布