From 32185d5f2d8b3873253da3b44cbb1fb2aaa86762 Mon Sep 17 00:00:00 2001 From: Lozakaka <102352821+Lozakaka@users.noreply.github.com> Date: Thu, 1 Jun 2023 19:44:43 -0400 Subject: [PATCH] =?UTF-8?q?=E7=B7=A8=E8=BC=AFJAVA=E8=A7=A3=E7=AD=94?= =?UTF-8?q?=E7=9A=84=E9=83=A8=E5=88=86=E5=85=A7=E5=AE=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 1. 提供JAVA填充數組的函數Arrays.fill() 2. for loop中不需要if statement,並有用 // 解釋原因 --- ...14\345\205\250\345\271\263\346\226\271\346\225\260.md" | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git "a/problems/0279.\345\256\214\345\205\250\345\271\263\346\226\271\346\225\260.md" "b/problems/0279.\345\256\214\345\205\250\345\271\263\346\226\271\346\225\260.md" index f5b23d2636..82d02b302d 100644 --- "a/problems/0279.\345\256\214\345\205\250\345\271\263\346\226\271\346\225\260.md" +++ "b/problems/0279.\345\256\214\345\205\250\345\271\263\346\226\271\346\225\260.md" @@ -177,15 +177,19 @@ class Solution { for (int j = 0; j <= n; j++) { dp[j] = max; } + //如果不想要寫for-loop填充數組的話,也可以用JAVA內建的Arrays.fill()函數。 + //Arrays.fill(dp, Integer.MAX_VALUE); + //当和为0时,组合的个数为0 dp[0] = 0; // 遍历物品 for (int i = 1; i * i <= n; i++) { // 遍历背包 for (int j = i * i; j <= n; j++) { - if (dp[j - i * i] != max) { + //if (dp[j - i * i] != max) { dp[j] = Math.min(dp[j], dp[j - i * i] + 1); - } + //} + //不需要這個if statement,因爲在完全平方數這一題不會有"湊不成"的狀況發生( 一定可以用"1"來組成任何一個n),故comment掉這個if statement。 } } return dp[n];