代码随想录算法训练营第42天| 01背包问题,你该了解这些! 滚动数组 416. 分割等和子集

  • 今日学习的文章链接,或者视频链接

第九章 动态规划part04

  • 自己看到题目的第一想法

  • 看完代码随想录之后的想法

416

class Solution {
public:
    bool canPartition(vector& nums) {
        int sum = 0;
        vector dp(10001, 0);
        for (int i = 0; i < nums.size(); i++) {
            sum += nums[i];
        }
        if(sum%2==1) return false;
        int target = sum/2;
        // 开始 01背包
        for(int i = 0;i=nums[i];j--){
                dp[j] = max(dp[j],dp[j-nums[i]]+nums[i]);
            }
        }
        return dp[target] == target;

    }
};
  • 自己实现过程中遇到哪些困难

  • 今日收获,记录一下自己的学习时长

你可能感兴趣的:(算法,leetcode,数据结构)