题解 | #最少的完全平方数#
最少的完全平方数
https://www.nowcoder.com/practice/4b2f5d4c00f44a92845bdad633965c04
package main
import (
"fmt"
"math"
)
func solution(n int) int {
f := make([]int, n+1)
for i := 1; i <= n; i++ {
minNum := math.MaxInt
for j := 1; j*j <= i; j++ {
minNum = min(minNum, f[i-j*j])
}
f[i] = minNum + 1
}
return f[n]
}
func min(a, b int) int {
if a > b {
return b
}
return a
}
/*
*
输入5
输出2
说明:1 + 2*2 = 5
*/
func main() {
var n int
fmt.Scan(&n)
fmt.Println(solution(n))
}

