1 题目
有一堆石头,用整数数组 stones 表示。其中 stones[i] 表示第 i 块石头的重量。
每一回合,从中选出任意两块石头,然后将它们一起粉碎。假设石头的重量分别为 x 和 y,且 x int: s =sum(stones) half = s//2 n = len(stones) dp = [0]*(half+1) for i in range(n): for j in range(half,stones[i]-1,-1): dp[j] = max(dp[j],dp[j-stones[i]]+stones[i]) return s - 2*dp[half]