給定正整數 n,找到若干個完全平方數(比如 1, 4, 9, 16, …)使得它們的和等於 n。你需要讓組成和的完全平方數的個數最少。原來有乙個定理,四平方和定理。示例 1:
輸入: n = 12
輸出: 3
解釋: 12 = 4 + 4 + 4.
示例 2:
輸入: n = 13
輸出: 2
解釋: 13 = 4 + 9.
四平方和定理說明每個正整數均可表示為4個整數的平方和。
// 這是我寄幾的
class solution
for (int i = 1; i*i < n+1; i++)
findmin(minfactor,n);
// print(minfactor);
return minfactor[n];
}public static void findmin(int minfactor, int n)
if (minfactor[addnum] == integer.max_value)
findmin(minfactor,addnum);
minfactor[n] = math.min(minfactor[n],minfactor[i]+minfactor[addnum]);}}
}//這是優化的
class solution
}//這是用四平方定理的
class solution
if (n % 8 == 7)
for (int i = 0; i * i <= n; i++)
}return 3;
}}
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...