1 Star 0 Fork 1

陈鹏/leecode with labuladong

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
克隆/下载
416.分割等和子集.cpp 849 Bytes
一键复制 编辑 原始数据 按行查看 历史
陈鹏 提交于 2022-07-19 22:26 . 动态规划01背包和完全背包
// @before-stub-for-debug-begin
#include <vector>
#include <string>
#include "commoncppproblem416.h"
#include <numeric>
using namespace std;
// @before-stub-for-debug-end
/*
* @lc app=leetcode.cn id=416 lang=cpp
*
* [416] 分割等和子集
*/
// @lc code=start
class Solution {
public:
bool canPartition(vector<int>& nums) {
int sum = accumulate(nums.begin(), nums.end(), 0);
if (sum % 2 != 0) {
return false;
}
int pack = sum / 2;
int n = nums.size();
vector<bool> dp(pack + 1, false);
dp[0] = true;
for (int i = 0; i < n; ++i) {
for (int j = pack; j >= 0; --j) {
if (nums[i] <= j) {
dp[j] = dp[j] || dp[j - nums[i]];
}
}
}
return dp.back();
}
};
// @lc code=end
Loading...
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
1
https://gitee.com/Chan1998/leecode-with-labuladong.git
git@gitee.com:Chan1998/leecode-with-labuladong.git
Chan1998
leecode-with-labuladong
leecode with labuladong
master

搜索帮助