2025/10/16
思路:先排个序,先从最右边取一个数,然后在左边叠加,如果用完了还没叠到右边那个数,就false,如果正好,则继续从右边取;如果多了,也是从右边取,最后看看会不会剩余,如果正好不剩,则true
评价:可以,但容易超时。
推荐做法:首先每个子集元素和一定是知道的(如果能分割),是sum(nums)/2。如果sum(nums)是奇数,直接false。然后相当于背包问题了,使用动态规划来求解。
Partition Equal Subset Sum
思路:先排个序,先从最右边取一个数,然后在左边叠加,如果用完了还没叠到右边那个数,就false,如果正好,则继续从右边取;如果多了,也是从右边取,最后看看会不会剩余,如果正好不剩,则true
评价:可以,但容易超时。
推荐做法:首先每个子集元素和一定是知道的(如果能分割),是sum(nums)/2。如果sum(nums)是奇数,直接false。然后相当于背包问题了,使用动态规划来求解。