当前位置: 首页> 娱乐> 八卦 > 【Hot100】LeetCode—279. 完全平方数

【Hot100】LeetCode—279. 完全平方数

时间:2025/7/22 15:59:05来源:https://blog.csdn.net/weixin_44382896/article/details/140610590 浏览次数:0次

目录

  • 题目
  • 1- 思路
  • 2- 实现
    • ⭐完全平方数——题解思路
  • 3- ACM 实现


题目

  • 原题连接:279. 完全平方数

1- 思路

思路

  • 动规五部曲

2- 实现

⭐完全平方数——题解思路

在这里插入图片描述

class Solution {public int numSquares(int n) {// 1. 定义 dpint[] dp = new int[n+1];//2. 递推公式// dp[j] = Math.min(dp[j],dp[j-i*i]+1);//3. 初始化int max = Integer.MAX_VALUE;for(int i = 0 ; i < dp.length;i++){dp[i] = max;}dp[0] = 0;for(int i = 1 ; i*i <= n;i++){for(int j = i*i ; j<=n ; j++){dp[j] = Math.min(dp[j],dp[j-i*i]+1);}}return dp[n];}
}

3- ACM 实现

public class squareNum {public static int numSquares(int n){int[] dp = new int[n+1];// 2. 递推公式// dp[j] = Math.min(j-i*i+1,dp[j]);// 3.初始化int MAX = Integer.MAX_VALUE;for (int i = 0 ; i <= n;i++){dp[i] = MAX;}dp[0] = 0;//4. 先遍历 物品 后遍历背包for(int i = 1; i*i <= n;i++){for(int j = i*i ; j <= n;j++){dp[j] = Math.min(dp[j - i * i] + 1, dp[j]);}}return dp[n];}public static void main(String[] args) {Scanner sc = new Scanner(System.in);System.out.println("输入要求的完全平方数和");int n = sc.nextInt();System.out.println("结果是"+numSquares(n));}
}

关键字:【Hot100】LeetCode—279. 完全平方数

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

责任编辑: