[リートコード] 416。パーティションの等しいサブセットの合計

416 Partition Equal Subset Sum


分析

終わった、本当に仕事が見つからない! ! ! ! !なくなった! ! ! -[毎日質問をブラッシングすることは難しくありません]

正の整数のみを含む空でない配列が与えられた場合、両方のサブセットの要素の合計が等しくなるように、配列を2つのサブセットに分割できるかどうかを調べます。
注意:
各配列要素は100を超えません。
配列サイズは200を超えません。
画像
動的計画ソリューション、この質問は非常に興味深いです〜2つのブラシが必要です



実装する

class Solution { public: bool canPartition(vector<int>& nums) { int sum = accumulate(nums.begin(), nums.end(), 0) int target = sum>>1 if(sum & 1) return false vector<int> dp(target+1, 0) dp[0] = 1 for(int num:nums) return dp[target] } }