mirror of
https://github.com/youngyangyang04/leetcode-master.git
synced 2025-07-08 08:50:15 +08:00
Update: 0416 使用STL求和
This commit is contained in:
@ -143,15 +143,12 @@ dp[j]的数值一定是小于等于j的。
|
||||
class Solution {
|
||||
public:
|
||||
bool canPartition(vector<int>& nums) {
|
||||
int sum = 0;
|
||||
|
||||
// 使用标准库函数 便捷求和
|
||||
int sum = accumulate(nums.begin(), nums.end(), 0);
|
||||
// dp[i]中的i表示背包内总和
|
||||
// 题目中说:每个数组中的元素不会超过 100,数组的大小不会超过 200
|
||||
// 总和不会大于20000,背包最大只需要其中一半,所以10001大小就可以了
|
||||
vector<int> dp(10001, 0);
|
||||
for (int i = 0; i < nums.size(); i++) {
|
||||
sum += nums[i];
|
||||
}
|
||||
if (sum % 2 == 1) return false;
|
||||
int target = sum / 2;
|
||||
|
||||
|
Reference in New Issue
Block a user