๐ŸŒ• 1049. ๆœ€ๅŽไธ€ๅ—็Ÿณๅคด็š„้‡้‡ II

ๅžไฝ›็ซฅๅญ2022ๅนด6ๆœˆ9ๆ—ฅๅฐไบŽ 1 ๅˆ†้’Ÿ

๐ŸŒ• 1049. ๆœ€ๅŽไธ€ๅ—็Ÿณๅคด็š„้‡้‡ II

้šพๅบฆ: ๐ŸŒ•

้—ฎ้ข˜ๆ่ฟฐ

img_16.png


่งฃๆณ•

class Solution {
    public int lastStoneWeightII(int[] stones) {
        // ๆ€่ทฏ๏ผš
        // ่ƒŒๅŒ…้—ฎ้ข˜๏ผŒๆฑ‚่ƒฝๅพ—ๅˆฐๆœ€ๅคงไปทๅ€ผไธ€่ˆฌ็š„่ƒฝๅพ—ๅˆฐ็š„ๆœ€ๅคงไปทๅ€ผ๏ผŒๅˆ†ไธบไธ€็ป„
        int sum = 0;
        for(int i : stones) {
            sum += i;
        }
        int res = sum;
        sum >>= 1;
        // ๅกซๅ……่ƒŒๅŒ…๏ผŒไฝฟๅพ—ไปทๅ€ผๅฐฝๅฏ่ƒฝๆŽฅ่ฟ‘ๆœ€ๅคงไปทๅ€ผ็š„ไธ€ๅŠ
        int len = stones.length;
        int[] dp = new int[sum + 1];
        for(int j = 0; j < len; j ++) {
            for(int i = sum; i - stones[j] >= 0; i --) {
                dp[i] = Math.max(dp[i], dp[i - stones[j]] + stones[j]);
            }
        }
        return Math.abs(2 * dp[sum] - res);
    }
}

่พ“ๅ‡บ

img_17.png

ไธŠๆฌก็ผ–่พ‘ไบŽ: 2022/6/20 ไธ‹ๅˆ8:24:47
่ดก็Œฎ่€…: liuxianzhishou