LeetCode 279 完全平方數

2021-09-25 05:35:01 字數 754 閱讀 5350

279. 完全平方數

給定正整數 n,找到若干個完全平方數(比如1, 4, 9, 16, ...)使得它們的和等於n。你需要讓組成和的完全平方數的個數最少。

示例 1:

輸入:n = 12輸出:3解釋:12 = 4 + 4 + 4.
示例 2:

輸入:n = 13輸出:2解釋:13 = 4 + 9.
解題思路:

對問題建模,將整個問題轉化為乙個圖論問題。從n到0,每個數字代表乙個節點;如果兩個數字x和y相差乙個平方數,則連線一條邊。我們得到了乙個無權圖。

原問題轉化成,求這個無權圖中從n到0的最短路徑。

解題**:

1.圖的廣度優先遍歷(和樹的層序遍歷方法一樣)

class solution }}

return -1;

}};

pair第乙個int代表第幾個數字,第二個int代表圖中經歷了幾段路徑 走到數字。

2.優化的版本

class solution }}

return -1;

}};

Leetcode 279 完全平方數

給定正整數 n,找到若干個完全平方數 比如1,4,9,16,使得它們的和等於n。你需要讓組成和的完全平方數的個數最少。示例 1 輸入 n 12輸出 3解釋 12 4 4 4.示例 2 輸入 n 13輸出 2解釋 13 4 9.解題思路 比較容易想到的方法是bfs 廣度優先搜尋 如果知道四平方和的話就...

LeetCode 279 完全平方數

題目描述 提示幫助 提交記錄社群討論閱讀解答 隨機一題 給定正整數 n,找到若干個完全平方數 比如1,4,9,16,使得它們的和等於n。你需要讓組成和的完全平方數的個數最少。示例 1 輸入 n 12輸出 3解釋 12 4 4 4.示例 2 輸入 n 13輸出 2解釋 13 4 9.class sol...

Leetcode279 完全平方數

給定正整數 n,找到若干個完全平方數 比如 1,4,9,16,使得它們的和等於 n。你需要讓組成和的完全平方數的個數最少。示例 1 輸入 n 12 輸出 3 解釋 12 4 4 4.示例 2 輸入 n 13 輸出 2 解釋 13 4 9.解法1 bfs public intnumsquares in...