279. 完全平方数 golang 动态规划
生活随笔
收集整理的這篇文章主要介紹了
279. 完全平方数 golang 动态规划
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
題目
類似題目:322. 零錢兌換
279. 完全平方數
給定正整數 n,找到若干個完全平方數(比如 1, 4, 9, 16, …)使得它們的和等于 n。你需要讓組成和的完全平方數的個數最少。
示例 1:
輸入: n = 12
輸出: 3
解釋: 12 = 4 + 4 + 4.
示例 2:
輸入: n = 13
輸出: 2
解釋: 13 = 4 + 9.
圖解
推導思路
分解為子問題求解
從而尋找動態(tài)方程。
解法
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 }總結
以上是生活随笔為你收集整理的279. 完全平方数 golang 动态规划的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 子宫畸形不孕不育是什么
- 下一篇: 动态规划-01背包问题详解