博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
leetcode 279. Perfect Squares
阅读量:6201 次
发布时间:2019-06-21

本文共 1128 字,大约阅读时间需要 3 分钟。

 

279. Perfect Squares

   
QuestionEditorial Solution
Total Accepted: 33524 Total Submissions: 102649 Difficulty: Medium

 

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.

Credits:

Special thanks to  for adding this problem and creating all test cases.

 

 to see which companies asked this question

Hide Tags
 
  
Show Similar Problems
 
题解:
转自:
 
这种可遇不可求的做法就不说了,说说dp:
 
 
dp[i]代表组成i的最少平方数的个数。至于状态转移,我们可以这样想:组成这个数的最小值要么就是本身,要么就是前面某一个数+一个平方数(所以看作值加上1),类似0-1背包的思想。
 

Submission Details

600 / 600 test cases passed.
Status: 

Accepted

Runtime: 461 ms

 

1 class Solution { 2 public: 3     int numSquares(int n) { 4         vector
dp(n+1,INT_MAX); 5 dp[0] = 0; 6 dp[1] = 1; 7 for(int i=2; i<=n; i++) { 8 for(int j = 1;j * j <= i ;j++){ 9 dp[i] = min(dp[i], dp[i - j * j] + 1); 10 } 11 } 12 return dp[n]; 13 }14 };

 

转载于:https://www.cnblogs.com/njczy2010/p/5466263.html

你可能感兴趣的文章
JWT
查看>>
shiro的源码学习(三)shiro的SecurityManager类结构
查看>>
java队列
查看>>
C++中强制类型转换
查看>>
Selenium应用代码(读取mysql表数据登录)
查看>>
J2SE Base-2
查看>>
Nginx 限制单个IP的并发连接数及对每个连接速度(限速)
查看>>
js原型学习
查看>>
一位数组续
查看>>
getview adapter android
查看>>
C#实现union以及lock的使用
查看>>
007-请问你怎么看待软件测试的潜力和挑战
查看>>
读后感作业
查看>>
Android之AIDL知识总结
查看>>
堆排序
查看>>
debug看一下SpringMVC是如何返回Json数据的
查看>>
NOR型flash与NAND型flash的区别
查看>>
前端面试题总结
查看>>
sql 创建数据语句
查看>>
ubuntu openjdk 7 升级 8
查看>>