A.每日一题——3432. 统计元素和差值为偶数的分区方案

题目链接:3432. 统计元素和差值为偶数的分区方案(简单)

算法原理:

解法:数学

击败65.69%

时间复杂度O(N)

①先算出总和sum

②遍历每个数的同时取左子区间和lsum

③右子区间和自然就是rsum=sum-lsum

④判断两个差是否是偶数即可

Java代码:

java 复制代码
class Solution {
    public int countPartitions(int[] nums) {
        int sum=0,ret=0;
        for(int x:nums) sum+=x;
        int lsum=0,n=nums.length;
        //不用走到头,因为sum为偶数时会重复计算两次
        for(int i=0;i<n-1;i++){
            lsum+=nums[i];//左子区间的和
            int rsum=sum-lsum;//右子区间的和
            if((lsum-rsum)%2==0) ret++;
        }
        return ret;
    }
}
相关推荐
苍煜7 分钟前
慢SQL优化实战教学
java·数据库·sql
AI进化营-智能译站10 分钟前
ROS2 C++开发系列16-智能指针管理传感器句柄|告别ROS2节点内存泄漏与野指针
java·c++·算法·ai
CS创新实验室44 分钟前
从盘边到芯端——硬盘接口七十年变迁史
算法·磁盘调度
TeDi TIVE1 小时前
springboot和springframework版本依赖关系
java·spring boot·后端
二哈赛车手1 小时前
新人笔记---ES和kibana启动问题以及一些常用的linux的错误排查方法,以及ES,数据库泄密解决方案[超详细]
java·linux·数据库·spring boot·笔记·elasticsearch
嵌入式×边缘AI:打怪升级日志1 小时前
嵌入式Linux开发核心自测题(全系列精华浓缩)
java·linux·运维
xvhao20131 小时前
单源、多源最短路
数据结构·c++·算法·深度优先·动态规划·图论·图搜索算法
MATLAB代码顾问1 小时前
多种群协同进化算法(MPCE)求解大规模作业车间调度问题——附MATLAB代码
开发语言·算法·matlab
FQNmxDG4S1 小时前
JVM内存模型详解:堆、栈、方法区与垃圾回收
java·jvm·算法
We་ct2 小时前
LeetCode 72. 编辑距离:动态规划经典题解
前端·算法·leetcode·typescript·动态规划