[leetcode ~dp ]279. 完全平方数

简介: [leetcode ~dp ]279. 完全平方数

给你一个整数 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

class Solution {
    public int numSquares(int n) {
        int[] dp = new int[n+1];
        Arrays.fill(dp, 10000);
        dp[0] = 0;
        for(int i = 0; i<=n; i++) {
            for(int j=1; j*j <= i; j++) {
                dp[i] = Math.min(dp[i-j*j]+1, dp[i]);
            }
        }
        return dp[n];
    }
}

相关文章
|
4月前
|
Java
leetcode-279:完全平方数
leetcode-279:完全平方数
24 0
|
9月前
|
算法 Java 测试技术
dp算法 力扣152乘积最大子数组
dp算法 力扣152乘积最大子数组
|
11月前
|
存储 算法
dp 就 dp ,数位dp是什么意思 ?
dp 就 dp ,数位dp是什么意思 ?
227 0
leetcode 279 完全平方数
leetcode 279 完全平方数
35 0
leetcode 279 完全平方数
|
存储 算法
dp 问题 --- 斐波那契数列 \ 数组最大子序列和
dp 问题 --- 斐波那契数列 \ 数组最大子序列和
58 0
完全平方数(LeetCode-279)
完全平方数(LeetCode-279)
85 0
完全平方数(LeetCode-279)
|
人工智能
洛谷P1115-最大子段和(DP-最大子段和)
洛谷P1115-最大子段和(DP-最大子段和)
洛谷P1115-最大子段和(DP-最大子段和)
|
人工智能 C++
牛妹爱数列(动态规划 dp)
牛妹正在玩一个数列,他手里有一个长度为n的序列a,保证它是一个01序列,并执行以下两种操作:1.单点修改:将位置x上的数翻转(0变1,1变0);2.前缀修改:将位置1~x上的数翻转(每个数都0变1,1变0)。他现在想要最小化翻转次数,使得数列上的所有数都变为0。
牛妹爱数列(动态规划 dp)