279. 完全平方数 golang BFS
生活随笔
收集整理的這篇文章主要介紹了
279. 完全平方数 golang BFS
小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
題目
給定正整數(shù) n,找到若干個(gè)完全平方數(shù)(比如 1, 4, 9, 16, …)使得它們的和等于 n。你需要讓組成和的完全平方數(shù)的個(gè)數(shù)最少。
示例 1:
輸入: n = 12
輸出: 3
解釋: 12 = 4 + 4 + 4.
示例 2:
輸入: n = 13
輸出: 2
解釋: 13 = 4 + 9.
圖解
解法
func numSquares(n int) int {dp:=make([]int,n+1)for i:=1;i<=n;i++{dp[i]=ifor j:=1;i-j*j>=0;j++{dp[i]=min(dp[i],dp[i-j*j]+1)}}return dp[n] } func min(x ,y int)int{if x>y{return y}return x }DFS解法
code
使用隊(duì)列存儲(chǔ)元素,然后將第二列數(shù)組存儲(chǔ)隊(duì)列,直到有0,輸出level。來(lái)源圖中
總結(jié)
以上是生活随笔為你收集整理的279. 完全平方数 golang BFS的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 22. 括号生成 golang 图解
- 下一篇: 104. 二叉树的最大深度 golang