Skip to content

Commit 43a6678

Browse files
authored
Update Last Stone Weight II.java
1 parent 6db7f6d commit 43a6678

File tree

1 file changed

+5
-9
lines changed

1 file changed

+5
-9
lines changed

Medium/Last Stone Weight II.java

Lines changed: 5 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,19 +1,15 @@
11
class Solution {
22
public int lastStoneWeightII(int[] stones) {
3-
boolean[] dp = new boolean[1501];
4-
dp[0] = true;
53
int sum = 0;
64
for (int stone : stones) {
75
sum += stone;
8-
for (int i = Math.min(1500, sum); i >= stone; i--) {
9-
dp[i] |= dp[i - stone];
10-
}
116
}
12-
for (int i = sum / 2; i >= 0; i--) {
13-
if (dp[i]) {
14-
return sum - i - i;
7+
int[] dp = new int[sum / 2 + 1];
8+
for (int i = 1; i <= stones.length; i++) {
9+
for (int j = sum / 2; j >= stones[i - 1]; j--) {
10+
dp[j] = Math.max(dp[j], dp[j - stones[i - 1]] + stones[i - 1]);
1511
}
1612
}
17-
return 0;
13+
return sum - 2 * dp[sum / 2];
1814
}
1915
}

0 commit comments

Comments
 (0)