From be926a3c5b3e67023cf99f4f0311d091c01a7e08 Mon Sep 17 00:00:00 2001 From: fwqaaq Date: 2023年5月31日 21:43:25 +0800 Subject: [PATCH 1/3] =?UTF-8?q?Update=200198.=E6=89=93=E5=AE=B6=E5=8A=AB?= =?UTF-8?q?=E8=88=8D.md=20about=20rust?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...223円345円256円266円345円212円253円350円210円215円.md" | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git "a/problems/0198.346円211円223円345円256円266円345円212円253円350円210円215円.md" "b/problems/0198.346円211円223円345円256円266円345円212円253円350円210円215円.md" index 6e682ec39e..1ecd2eb716 100644 --- "a/problems/0198.346円211円223円345円256円266円345円212円253円350円210円215円.md" +++ "b/problems/0198.346円211円223円345円256円266円345円212円253円350円210円215円.md" @@ -250,7 +250,24 @@ function rob(nums: number[]): number { }; ``` +Rust: +```rust +impl Solution { + pub fn rob(nums: Vec) -> i32 { + if nums.len() == 1 { + return nums[0]; + } + let mut dp = vec![0; nums.len()]; + dp[0] = nums[0]; + dp[1] = nums[0].max(nums[1]); + for i in 2..nums.len() { + dp[i] = (dp[i - 2] + nums[i]).max(dp[i - 1]); + } + dp[nums.len() - 1] + } +} +```

From f22c658d365595a080ff5b516a3f2fca775e0ae6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=93=88=E5=93=88=E5=93=88?= <76643786+projecthappy@users.noreply.github.com> Date: 2023年5月31日 22:50:48 +0800 Subject: [PATCH 2/3] =?UTF-8?q?Update=200257.=E4=BA=8C=E5=8F=89=E6=A0=91?= =?UTF-8?q?=E7=9A=84=E6=89=80=E6=9C=89=E8=B7=AF=E5=BE=84.md?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...00346円234円211円350円267円257円345円276円204円.md" | 27 ++++++++++++++++++- 1 file changed, 26 insertions(+), 1 deletion(-) diff --git "a/problems/0257.344円272円214円345円217円211円346円240円221円347円232円204円346円211円200円346円234円211円350円267円257円345円276円204円.md" "b/problems/0257.344円272円214円345円217円211円346円240円221円347円232円204円346円211円200円346円234円211円350円267円257円345円276円204円.md" index 7bd56fbd0d..061535072d 100644 --- "a/problems/0257.344円272円214円345円217円211円346円240円221円347円232円204円346円211円200円346円234円211円350円267円257円345円276円204円.md" +++ "b/problems/0257.344円272円214円345円217円211円346円240円221円347円232円204円346円211円200円346円234円211円350円267円257円345円276円204円.md" @@ -390,6 +390,8 @@ public: ```Java //解法一 + +//方式一 class Solution { /** * 递归法 @@ -428,9 +430,32 @@ class Solution { } } } + +//方式二 +class Solution { + + List result = new ArrayList(); + + public List binaryTreePaths(TreeNode root) { + deal(root, ""); + return result; + } + + public void deal(TreeNode node, String s) { + if (node == null) + return; + if (node.left == null && node.right == null) { + result.add(new StringBuilder(s).append(node.val).toString()); + return; + } + String tmp = new StringBuilder(s).append(node.val).append("->").toString(); + deal(node.left, tmp); + deal(node.right, tmp); + } +} ``` ```java -// 解法2 +// 解法二 class Solution { /** * 迭代法 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 3/3] =?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,並有用 // 解釋原因 --- ...14345円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];

AltStyle によって変換されたページ (->オリジナル) /