We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
There was an error while loading. Please reload this page.
1 parent 6db7f6d commit 43a6678Copy full SHA for 43a6678
Medium/Last Stone Weight II.java
@@ -1,19 +1,15 @@
1
class Solution {
2
public int lastStoneWeightII(int[] stones) {
3
- boolean[] dp = new boolean[1501];
4
- dp[0] = true;
5
int sum = 0;
6
for (int stone : stones) {
7
sum += stone;
8
- for (int i = Math.min(1500, sum); i >= stone; i--) {
9
- dp[i] |= dp[i - stone];
10
- }
11
}
12
- for (int i = sum / 2; i >= 0; i--) {
13
- if (dp[i]) {
14
- return sum - i - i;
+ int[] dp = new int[sum / 2 + 1];
+ for (int i = 1; i <= stones.length; i++) {
+ for (int j = sum / 2; j >= stones[i - 1]; j--) {
+ dp[j] = Math.max(dp[j], dp[j - stones[i - 1]] + stones[i - 1]);
15
16
17
- return 0;
+ return sum - 2 * dp[sum / 2];
18
19
0 commit comments