题解 | #最少的完全平方数#

最少的完全平方数

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))
}

全部评论

相关推荐

白火同学:大二有这水平很牛了,可以适当对关键信息加粗一点,比如关键技术、性能指标之类的。
点赞 评论 收藏
分享
06-12 10:50
门头沟学院 Java
你的不定积分没加C:我怎么在学院群看到了同样的话
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务