leetcode 3432

3432: 统计元素和差值为偶数的分区方案

设 nums 的元素和为 S,左子数组元素和为 L,那么右子数组的元素和为 S−L

题目要求 L−(S−L)=2L−S 是偶数。由于 2L 一定是偶数,所以只需关注 S 的奇偶性:

  • 如果 S 是奇数,偶数减奇数一定是奇数,答案是 0。
  • 如果 S 是偶数,偶数减偶数一定是偶数,所有分区方案都符合要求,答案是 n−1。

上述结论与 i 无关。

复制代码
class Solution {
public:
    int countPartitions(vector<int>& nums) {
        int n=nums.size();
        int x=reduce(nums.begin(),nums.end(),0);
        if(x%2==0) return n-1;
        else return 0;
    }
};
相关推荐
条tiao条6 小时前
KMP 算法详解:告别暴力匹配,让字符串匹配 “永不回头”
开发语言·算法
干啥啥不行,秃头第一名6 小时前
C++20概念(Concepts)入门指南
开发语言·c++·算法
tobias.b6 小时前
计算机基础知识-数据结构
java·数据结构·考研
zzh940776 小时前
Gemini 3.1 Pro 硬核推理优化剖析:思维织锦、动态计算与国内实测
算法
2301_807367196 小时前
C++中的解释器模式变体
开发语言·c++·算法
愣头不青6 小时前
617.合并二叉树
java·算法
MIUMIUKK7 小时前
双指针三大例题
算法
灵感__idea7 小时前
Hello 算法:复杂问题的应对策略
前端·javascript·算法
2301_819414308 小时前
C++与区块链智能合约
开发语言·c++·算法
Zaly.8 小时前
【Python刷题】LeetCode 1727 重新排列后的最大子矩阵
算法·leetcode·矩阵