复习回顾-动态规划算法-416. 分割等和子集

注意点&感悟:

  • 其实也没啥,不行就背呗~~

题目链接:416. 分割等和子集

自己独立写的代码:

class Solution:
    def canPartition(self, nums: List[int]) -> bool:
        target = sum(nums)
        if target % 2 ==1:   # 说明是奇数
            return False
        target = target // 2

        # 初始化
        dp = [0] *(target+1)

        for i in range(len(nums)):
            for j in range(target,nums[i]-1 , -1):  # 倒序
                dp[j] = max(dp[j],dp[j-nums[i]] + nums[i])
        
        return dp[target]==target

通过截图:

posted @ 2024-02-27 19:27  o蹲蹲o  阅读(2)  评论(0编辑  收藏  举报