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

题目:

题解:

cpp 复制代码
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];
}
相关推荐
门前云梦1 小时前
《C语言·源初法典》---C语言基础(上)
c语言·开发语言·学习
SY师弟3 小时前
51单片机——计分器
c语言·c++·单片机·嵌入式硬件·51单片机·嵌入式
keepquietl3 小时前
MQTT示例体验(C)
c语言·开发语言
编程绿豆侠5 小时前
力扣HOT100之栈:394. 字符串解码
java·算法·leetcode
Wangshanjie_985 小时前
【C语言】-递归
c语言
记得早睡~5 小时前
leetcode73-矩阵置零
数据结构·leetcode·矩阵
爱coding的橙子6 小时前
每日算法刷题Day27 6.9:leetcode二分答案2道题,用时1h20min
算法·leetcode·职场和发展
CodeWithMe8 小时前
【C/C++】高效的位操作
c语言·c++
学习噢学个屁9 小时前
基于STM32物联网智能鱼缸智能家居系统
c语言·stm32·单片机·嵌入式硬件·物联网·智能家居