力扣-279.完全平方数

题目描述

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

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

java 复制代码
class Solution {
    public int numSquares(int n) {
        int[] nums = new int[102];
        for(int i = 1; i <= 101; i++){
            nums[i] = i*i;
        }
        int[] dp = new int[n+1];    //dp数组是最后答案,和为n最少个数
        for(int i = 1; i <= n; i++){
            dp[i] = i;  //最差的可能是全1
            for(int j = 1;i-nums[j]>=0;j++){
                dp[i] = Math.min(dp[i],dp[i-nums[j]]+1);    //轮流用不超过n的完全平方数做替换
            }
        }
        return dp[n];
    }
}

小结:还是一维的dp,要考虑每个数用完全平方数与不用完全平方数之间哪个最优,且不大于该数的完全平方数都要试一遍。

相关推荐
森焱森2 小时前
水下航行器外形分类详解
c语言·单片机·算法·架构·无人机
QuantumStack4 小时前
【C++ 真题】P1104 生日
开发语言·c++·算法
写个博客4 小时前
暑假算法日记第一天
算法
绿皮的猪猪侠4 小时前
算法笔记上机训练实战指南刷题
笔记·算法·pta·上机·浙大
hie988945 小时前
MATLAB锂离子电池伪二维(P2D)模型实现
人工智能·算法·matlab
杰克尼5 小时前
BM5 合并k个已排序的链表
数据结构·算法·链表
.30-06Springfield6 小时前
决策树(Decision tree)算法详解(ID3、C4.5、CART)
人工智能·python·算法·决策树·机器学习
我不是哆啦A梦6 小时前
破解风电运维“百模大战”困局,机械版ChatGPT诞生?
运维·人工智能·python·算法·chatgpt
xiaolang_8616_wjl6 小时前
c++文字游戏_闯关打怪
开发语言·数据结构·c++·算法·c++20
small_wh1te_coder6 小时前
硬件嵌入式学习路线大总结(一):C语言与linux。内功心法——从入门到精通,彻底打通你的任督二脉!
linux·c语言·汇编·嵌入式硬件·算法·c