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;
    }
};
相关推荐
朝朝辞暮i7 小时前
C++ 第 21 课:struct —— 把一组相关数据打包在一起
开发语言·c++·算法
青梅橘子皮7 小时前
Blue---二分算法(二分查找与二分答案)
算法
长河7 小时前
Java的GC(垃圾回收)中,标记无用对象的核心方法是可达性分析算法
java·jvm·算法
月光船幽幽7 小时前
加性偏移外推提升参数识别可靠性
python·算法
H.莓飛8 小时前
【数据结构】队列
linux·数据结构·centos
Ivanqhz8 小时前
层归一化、残差、前馈网络与激活函数简述
服务器·数据库·人工智能·深度学习·算法
不会就选b9 小时前
算法日常・每日刷题--<动态规划>3
数据结构·算法
H.莓飛9 小时前
【数据结构】队列_OJ题
linux·数据结构·centos
-dzk-9 小时前
【堆】LC 347.前 K 个高频元素
算法·堆
H.莓飛10 小时前
【数据结构】栈_OJ题
linux·数据结构·算法·centos