LeetCode Perfect Squares
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相关推荐
- [LeetCode]Perfect Squares
题目链接:Perfect Squares 题目内容: Given a positive integer n, find the least number of perfect square numbe ...
- LeetCode -- Perfect Squares
Question: Given a positive integer n, find the least number of perfect square numbers (for example, ...
- LeetCode Perfect Squares(动态规划)
题意:给出一个整数,求其等于若干个平方数的和的最小值 思路:用动态规划 具体代码如下: public class Solution {public int numSquares(int n){int[ ...
- LeetCode 279. Perfect Squares
279. Perfect Squares Given a positive integer n, find the least number of perfect square numbers (fo ...
- 4kyu Sums of Perfect Squares
4kyu Sums of Perfect Squares 题目背景: The task is simply stated. Given an integer n (3 < n < 109) ...
- leetcode -- 279. Perfect Squares
Given a positive integer n, find the least number of perfect square numbers (for example, 1, 4, 9, 1 ...
- leetcode算法题--Perfect Squares
原题链接:https://leetcode.com/problems/perfect-squares/ int numSquares(int n) { //0点到n点的最短距离queue<int ...
- leetcode 279. Perfect Squares | 279. 完全平方数(动态规划,Java)
题目 https://leetcode.com/problems/perfect-squares/ 题解:动态规划 参考:[宫水三叶]详解完全背包一维空间优化推导(附背包问题攻略) 首先初始化长度为 ...
- 279 Perfect Squares 完美平方数
给定正整数 n,找到若干个完全平方数(比如 1, 4, 9, 16, ...) 使得他们的和等于 n.你需要让平方数的个数最少. 比如 n = 12,返回 3 ,因为 12 = 4 + 4 + 4 : ...
最新文章
- 为什么 JavaScript 的私有属性使用 # 符号
- 计算机会计课程试题及答案,计算机会计第2次作业_报表_附答案
- 页式存储管理程序模拟_ADAS/AD开发12 - 数据存储管理
- C#中使用OpenGL(API)创建OpenGL渲染环境
- 支持向量机中到底什么是支持向量
- JDK 环境变量配置
- VIM使用小技巧-重新载入文件
- 蓝桥杯 算法训练 结点选择
- editor修改样式 vue_vue修改富文本中的元素样式
- 软件开发中 前台、中台、后台英文_中台为什么这么火?
- 阿里云云计算 23 VPC的基础架构
- lzg_ad:使用EWF API开发常见问题
- 李开复:AI巨头是有史以来最难以打破的垄断 | 谷歌和腾讯参投中国AI企业深圳晶泰科技
- 普渡大学计算机科学本科,美国普渡大学计算机科学CS本科申请条件及案例
- 数字ic设计|ASIC芯片开发过程
- python中用来返回序列的最大函数_Python内置函数____________用来返回序列中的最大元素。...
- 计算机截图工具无法运行,重装win7系统后打开截图工具显示“截图工具当前未在计算机上运行”如何解决...
- sas 读取mysql数据类型_SAS | 格式规范数据读取
- 计算机专业未来的畅想规划,计算机专业职业生涯的规划书
- Java咖啡价格问题_【转】咖啡—根据咖啡品种选购杯具
热门文章
- 做网络推广时网站结构要如何进行优化呢?
- 珠海网络推广浅析网站内页排名怎么提升?
- 网络营销专员浅析如何判断网络营销中网站优化效果几何?
- 网站优化之各个页面的关键词密度的把控
- 中常用的数据结构_C语言实现常用数据结构:基本概念(第0篇
- php 一年中所有的天,PHP获取一年中的每星期的开始日期和结束日期
- MongoDB C++ gridfs worked example
- YCSB benchmark测试cassandra性能——和web服务器测试性能结果类似
- VMware 无法打开内核设备 \\.\Global\vmx86
- Hadoop集群中运行MapReduce程序错误记录