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;
    }
};
相关推荐
知乎的哥廷根数学学派3 分钟前
基于多物理约束融合与故障特征频率建模的滚动轴承智能退化趋势分析(Pytorch)
人工智能·pytorch·python·深度学习·算法·机器学习
wifi chicken8 分钟前
Linux 内核开发之单链表的增删查改详解
linux·数据结构·链表
我是一只小青蛙8888 分钟前
位图与布隆过滤器:高效数据结构解析
开发语言·c++·算法
踩坑记录18 分钟前
leetcode hot100 238.除了自身以外数组的乘积 medium
leetcode
eso198323 分钟前
白话讲述监督学习、非监督学习、强化学习
算法·ai·聚类
chen_jared25 分钟前
反对称矩阵的性质和几何意义
人工智能·算法·机器学习
海天一色y37 分钟前
python---力扣数学部分
算法·leetcode·职场和发展
一起努力啊~44 分钟前
算法刷题--哈希表
算法·面试·散列表
willingli1 小时前
c语言经典100题 61-70题
c语言·开发语言·算法
我是小疯子661 小时前
深入解析C++右值引用与移动语义
java·开发语言·算法