Given a positive integer n, find the least number of perfect square numbers (for example, 1, 4, 9, 16,
...) which sum to n. For example, given n = 12 , return 3 because 12 = 4 + 4 + 4 ; given n =
13 , return 2 because 13 = 4 + 9 .

题目翻译: 给出一个正整数 n ,求至少需要多少个完全平方数(例如1,4,9,16……)相加能得到n。
例如,给出 n = 12 ,返回3,因为 12 = 4 + 4 + 4 。给出 n = 13 ,返回2,因为 13 = 4 + 9 。

具体来说,我们用一个数组来记录已有的结果,初始化为正无穷( INT_MAX )。外层循环变量 i 从 0 到 n ,
内层循环变量 j 在 i 的基础上依次加上每个整数的完全平方,超过 n 的不算。那么 i + j*j 这个数需要
的最少的完全平方数的数量,就是数组中当前的数值,和 i 位置的数值加上一,这两者之间较小的数字。
如果当前的值较小,说明我们已经找到过它需要的完全平方数的个数(最初都是正无穷)。否则的话,说
明在 i 的基础上加上 j 的平方符合条件,所需的完全平方数的个数就是 i 需要的个数加上一。

import java.util.Arrays;class Solution {public int numSquares(int n) {int[] dp = new int[n + 1];Arrays.fill(dp, Integer.MAX_VALUE);dp[0] = 0;for (int i = 0; i <= n; i++) {for (int j = 1; i + j * j <= n; j++) {dp[i + j * j] = Math.min(dp[i + j * j], dp[i] + 1);}}return dp[n];}public static void main(String[] args) {Solution s = new Solution();int n = s.numSquares(8);System.out.println(n);}
};

转载于:https://www.cnblogs.com/googlemeoften/p/5849224.html

LeetCode Perfect Squares相关推荐

  1. [LeetCode]Perfect Squares

    题目链接:Perfect Squares 题目内容: Given a positive integer n, find the least number of perfect square numbe ...

  2. LeetCode -- Perfect Squares

    Question: Given a positive integer n, find the least number of perfect square numbers (for example,  ...

  3. LeetCode Perfect Squares(动态规划)

    题意:给出一个整数,求其等于若干个平方数的和的最小值 思路:用动态规划 具体代码如下: public class Solution {public int numSquares(int n){int[ ...

  4. LeetCode 279. Perfect Squares

    279. Perfect Squares Given a positive integer n, find the least number of perfect square numbers (fo ...

  5. 4kyu Sums of Perfect Squares

    4kyu Sums of Perfect Squares 题目背景: The task is simply stated. Given an integer n (3 < n < 109) ...

  6. leetcode -- 279. Perfect Squares

    Given a positive integer n, find the least number of perfect square numbers (for example, 1, 4, 9, 1 ...

  7. leetcode算法题--Perfect Squares

    原题链接:https://leetcode.com/problems/perfect-squares/ int numSquares(int n) { //0点到n点的最短距离queue<int ...

  8. leetcode 279. Perfect Squares | 279. 完全平方数(动态规划,Java)

    题目 https://leetcode.com/problems/perfect-squares/ 题解:动态规划 参考:[宫水三叶]详解完全背包一维空间优化推导(附背包问题攻略) 首先初始化长度为 ...

  9. 279 Perfect Squares 完美平方数

    给定正整数 n,找到若干个完全平方数(比如 1, 4, 9, 16, ...) 使得他们的和等于 n.你需要让平方数的个数最少. 比如 n = 12,返回 3 ,因为 12 = 4 + 4 + 4 : ...

最新文章

  1. 为什么 JavaScript 的私有属性使用 # 符号
  2. 计算机会计课程试题及答案,计算机会计第2次作业_报表_附答案
  3. 页式存储管理程序模拟_ADAS/AD开发12 - 数据存储管理
  4. C#中使用OpenGL(API)创建OpenGL渲染环境
  5. 支持向量机中到底什么是支持向量
  6. JDK 环境变量配置
  7. VIM使用小技巧-重新载入文件
  8. 蓝桥杯 算法训练 结点选择
  9. editor修改样式 vue_vue修改富文本中的元素样式
  10. 软件开发中 前台、中台、后台英文_中台为什么这么火?
  11. 阿里云云计算 23 VPC的基础架构
  12. lzg_ad:使用EWF API开发常见问题
  13. 李开复:AI巨头是有史以来最难以打破的垄断 | 谷歌和腾讯参投中国AI企业深圳晶泰科技
  14. 普渡大学计算机科学本科,美国普渡大学计算机科学CS本科申请条件及案例
  15. 数字ic设计|ASIC芯片开发过程
  16. python中用来返回序列的最大函数_Python内置函数____________用来返回序列中的最大元素。...
  17. 计算机截图工具无法运行,重装win7系统后打开截图工具显示“截图工具当前未在计算机上运行”如何解决...
  18. sas 读取mysql数据类型_SAS | 格式规范数据读取
  19. 计算机专业未来的畅想规划,计算机专业职业生涯的规划书
  20. Java咖啡价格问题_【转】咖啡—根据咖啡品种选购杯具

热门文章

  1. 做网络推广时网站结构要如何进行优化呢?
  2. 珠海网络推广浅析网站内页排名怎么提升?
  3. 网络营销专员浅析如何判断网络营销中网站优化效果几何?
  4. 网站优化之各个页面的关键词密度的把控
  5. 中常用的数据结构_C语言实现常用数据结构:基本概念(第0篇
  6. php 一年中所有的天,PHP获取一年中的每星期的开始日期和结束日期
  7. MongoDB C++ gridfs worked example
  8. YCSB benchmark测试cassandra性能——和web服务器测试性能结果类似
  9. VMware 无法打开内核设备 \\.\Global\vmx86
  10. Hadoop集群中运行MapReduce程序错误记录