給定正整數 n,找到若干個完全平方數(比如 1, 4, 9, 16, ...)使得它們的和等於 n。
你需要讓組成和的完全平方數的個數最少。
示例 1:輸入: n = 12 輸出: 3
解釋: 12 = 4 + 4 + 4.
示例 2:輸入: n = 13 輸出: 2
解釋: 13 = 4 + 9.
1、動態規劃;時間複雜度o(n^(3/2)),空間複雜度o(n)
2、動態規劃;時間複雜度o(n^(3/2)),空間複雜度o(n)
func numsquares(n int) int }return dp[n]}func min(a, b int) int return a}
3、廣度優先搜尋;時間複雜度o(n^(1/2)),空間複雜度o(n^(1/2))
4、遞迴;時間複雜度o(n^(1/2)),空間複雜度o(n^(1/2))
var m map[int]intfunc numsquares(n int) int func dfs(n int) int if n == 0 count := math.maxint32for i := 1; i*i <= n; i++ return count}func min(a, b int) int return a}
5、數學;時間複雜度o(n^(1/2)),空間複雜度o(1)
func numsquares(n int) int res := nfor res%4 == 0 if res%8 == 7 for i := 1; i*i < n; i++ }return 3}func judge(n int) bool
medium題目,多種解法,動態規劃方法需要掌握 1125 零起點學演算法32 輸出四位完全平方數
time limit 1 sec memory limit 64 mb 64bit io format lld submitted 2227 accepted 1373 submit status web board 輸出所有形如aabb的四位完全平方數 即該四位數前2位數字相等,後2位數字相等,且...
34 特殊四位數
34 特殊四位數 問題描述 數學一直是明明很喜歡的一門學科,不但上課認真聽講,而且還自己鑽研。有一次,老師在課上講了一種特殊的四位整數,這種整數有兩個特性 第一,它是某乙個自然數的平方 第二,它的千位數字與十位數字之和等於百位數字與個位數字之積。然後老師就舉了乙個例子 1156,1156是34的平方...
46 特殊四位數
問題描述 數學一直是明明很喜歡的一門學科,不但上課認真聽講,而且還自己鑽研。有一次,老師在課上講了一種特殊的四位整數,這種整數有兩個特性 第一,它是某乙個自然數的平方 第二,它的千位數字與十位數字之和等於百位數字與個位數字之積。然後老師就舉了乙個例子 1156,1156是34的平方,且1156的千位...