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

题目:

题解:

cpp 复制代码
class Solution {
public:
    bool canPartition(vector<int>& nums) {
        int n = nums.size();
        if (n < 2) {
            return false;
        }
        int sum = 0, maxNum = 0;
        for (auto& num : nums) {
            sum += num;
            maxNum = max(maxNum, num);
        }
        if (sum & 1) {
            return false;
        }
        int target = sum / 2;
        if (maxNum > target) {
            return false;
        }
        vector<int> dp(target + 1, 0);
        dp[0] = true;
        for (int i = 0; i < n; i++) {
            int num = nums[i];
            for (int j = target; j >= num; --j) {
                dp[j] |= dp[j - num];
            }
        }
        return dp[target];
    }
};
相关推荐
Larry_Yanan4 小时前
QML学习笔记(四十二)QML的MessageDialog
c++·笔记·qt·学习·ui
R-G-B4 小时前
【35】MFC入门到精通——MFC运行 不显示对话框 MFC界面不显示
c++·mfc·mfc运行 不显界面·mfc界面不显示
Madison-No75 小时前
【C++】探秘vector的底层实现
java·c++·算法
晚风残5 小时前
【C++ Primer】第十二章:动态内存管理
开发语言·c++·c++ primer
Swift社区5 小时前
LeetCode 401 - 二进制手表
算法·leetcode·ssh
派大星爱吃猫5 小时前
顺序表算法题(LeetCode)
算法·leetcode·职场和发展
liu****5 小时前
8.list的模拟实现
linux·数据结构·c++·算法·list
保持低旋律节奏5 小时前
C++ stack、queue栈和队列的使用——附加算法题
c++
初圣魔门首席弟子6 小时前
【C++ 学习】单词统计器:从 “代码乱炖” 到 “清晰可品” 的复习笔记
开发语言·c++
十五年专注C++开发6 小时前
CFF Explorer: 一款Windows PE 文件分析的好工具
c++·windows·microsoft