力扣-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,要考虑每个数用完全平方数与不用完全平方数之间哪个最优,且不大于该数的完全平方数都要试一遍。

相关推荐
波波0073 分钟前
每日一题:.NET 的 GC是如何分代工作的?
算法·.net·gc
风暴之零12 分钟前
变点检测算法PELT
算法
深鱼~12 分钟前
视觉算法性能翻倍:ops-cv经典算子的昇腾适配指南
算法·cann
李斯啦果13 分钟前
【PTA】L1-019 谁先倒
数据结构·算法
梵刹古音19 分钟前
【C语言】 指针基础与定义
c语言·开发语言·算法
啊阿狸不会拉杆36 分钟前
《机器学习导论》第 5 章-多元方法
人工智能·python·算法·机器学习·numpy·matplotlib·多元方法
R1nG8631 小时前
CANN资源泄漏检测工具源码深度解读 实战设备内存泄漏排查
数据库·算法·cann
_OP_CHEN2 小时前
【算法基础篇】(五十六)容斥原理指南:从集合计数到算法实战,解决组合数学的 “重叠难题”!
算法·蓝桥杯·c/c++·组合数学·容斥原理·算法竞赛·acm/icpc
TracyCoder1232 小时前
LeetCode Hot100(27/100)——94. 二叉树的中序遍历
算法·leetcode
九.九2 小时前
CANN HCOMM 底层机制深度解析:集合通信算法实现、RoCE 网络协议栈优化与多级同步原语
网络·网络协议·算法