Skip to content

Latest commit

 

History

History
55 lines (33 loc) · 845 Bytes

File metadata and controls

55 lines (33 loc) · 845 Bytes

279. 完全平方数

相关标签

  • 广度优先搜索
  • 数学
  • 动态规划

问题描述

  1. 完全平方数 - 给你一个整数 n ,返回 和为 n 的完全平方数的最少数量 。

完全平方数 是一个整数,其值等于另一个整数的平方;换句话说,其值等于一个整数自乘的积。例如,1、4、9 和 16 都是完全平方数,而 3 和 11 不是。

 

示例 1:

输入:n = 12 输出:3 解释:12 = 4 + 4 + 4

示例 2:

输入:n = 13 输出:2 解释:13 = 4 + 9

 

提示:

  • 1 <= n <= 104

题解

function numSquares(n: number): number {
    const dp = new Array(n+1).fill(n+1)
    dp[0] = 0

    for(let i=0;i<=n;i++) {
        for(let j=1;j*j<=i;j++) {
            dp[i] = Math.min(dp[i], dp[i-j*j] + 1)

        }
    }

    return dp[n]
};