当前位置: 首页 > article >正文

C语言 | Leetcode C语言题解之第416题分割等和子集

题目:

题解:

bool canPartition(int* nums, int numsSize) {
    if (numsSize < 2) {
        return false;
    }
    int sum = 0, maxNum = 0;
    for (int i = 0; i < numsSize; ++i) {
        sum += nums[i];
        maxNum = fmax(maxNum, nums[i]);
    }
    if (sum & 1) {
        return false;
    }
    int target = sum / 2;
    if (maxNum > target) {
        return false;
    }
    int dp[target + 1];
    memset(dp, 0, sizeof(dp));
    dp[0] = true;
    for (int i = 0; i < numsSize; i++) {
        int num = nums[i];
        for (int j = target; j >= num; --j) {
            dp[j] |= dp[j - num];
        }
    }
    return dp[target];
}

http://www.kler.cn/a/319664.html

相关文章:

  • 学习日记_20241115_聚类方法(层次聚类)
  • Linux服务器定时执行jar重启命令
  • LeetCode105.从前序与中序遍历构造二叉树
  • 微信小程序——01开发前的准备和开发工具
  • 计算机网络 (1)互联网的组成
  • 树莓派(Raspberry Pi)Pico 2 C_C++开发环境配置(Docker+SDK)
  • 自然场景文本定位系统源码分享
  • MFC -文件类控件
  • 暑期内卷!就练这400页软件测试面试题(附答案解析)!
  • fmql之ubuntu添加dhcp服务
  • 函数题 7-7 12-24小时制【PAT】
  • Postgresql一行命令备份(pg_dump版)
  • 力扣题解2374
  • 机器学习 | 使用scikit-learn学习Python中的PCA(主成分分析)
  • 无服务器计算构建人工智能管理区块链系统
  • Varjo在芬兰开设新工厂,以满足国防部门在XR模拟训练中的需求
  • 智能识别猫猫
  • 【JVM】垃圾回收机制|死亡对象的判断算法|垃圾回收算法
  • 谷歌的AI反击战:创始人谢尔盖·布林的回归与大模型组合的未来
  • vue2使用npm引入依赖(例如axios),报错Module parse failed: Unexpected token解决方案
  • 复制他人 CSDN 文章到自己的博客
  • 快递物流短信API接口代码
  • ​​​​​​​月考发成绩,为什么老师都用易查分?
  • MySQL数据库的备份与恢复
  • 力扣(leetcode)每日一题 815 公交路线 (图的宽度优先遍历变种)
  • 实验19:ds18b20温度实验