LeetCode
来源:互联网 发布:linux cp怎么用 编辑:程序博客网 时间:2024/05/18 13:29
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
.
给你一个数,问最少能用多少个完全平方数组成。最少。
动态规划美滋滋啊。
dp[0] = 0 dp[1] = dp[0]+1 = 1dp[2] = dp[1]+1 = 2dp[3] = dp[2]+1 = 3dp[4] = Min{ dp[4-1*1]+1, dp[4-2*2]+1 } = Min{ dp[3]+1, dp[0]+1 } = 1dp[5] = Min{ dp[5-1*1]+1, dp[5-2*2]+1 } = Min{ dp[4]+1, dp[1]+1 } = 2
所以,dp[n] = min{ dp[n - i * i] + 1 }, n - i * i >= 0 && i >= 1class Solution {public: int numSquares(int n) { if (n <= 0) return 0; vector<int> dp(n+1, INT_MAX); dp[0] = 0; for (int i = 0; i <= n; ++i) { for (int j = 1; j * j <= i; ++j) dp[i] = min(dp[i], dp[i - j*j] + 1); } return dp[n]; }};
阅读全文
0 0
- leetcode
- [leetcode]
- LeetCode
- leetcode
- leetcode
- leetcode:
- leetcode:
- LeetCode
- leetcode
- LEETCODE
- leetcode
- leetCode
- leetcode
- [leetcode]
- LeetCode
- leetcode
- leetcode:
- leetcode
- Android内存泄漏分析及调试
- Android 简单 通知栏 Notification
- CentOS下安装Redis
- SpringMVC与Ajax(Json,String,Form)数据交互
- http协议
- LeetCode
- MobileNet教程:用TensorFlow搭建在手机上运行的图像分类器
- 将retrofit2集成到同时具有webservice和http请求的Android项目中的解决方案
- Nginx--官网中文翻译(中英文对比)--5-调试日志A debugging log
- 服务器显卡驱动安装NVIDIA-1080Ti
- dubbo管理控制台安装和使用
- linux(6)
- SEO(搜索引擎优化)浅谈网站站内链接优化的一些策略
- cassandra cql查询