[Leetcode] #279 Perfect Squares (BFS, DP)
来源:互联网 发布:西门子plc数据用于联网 编辑:程序博客网 时间:2024/06/08 20:20
Discription:
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
.
Solution:
int numSquares(int n) { //BFSint sn = sqrt(n);if (sn*sn == n)return 1;vector<int> square, state(n + 1, 0);queue<int> que;for (int i = 1; i <= sn; i++){square.push_back(i*i);que.push(i*i);state[i*i] = 1;}while (!que.empty()){int x = que.front();que.pop();for (int i : square){if (x + i <= n && state[x + i] == 0){state[x + i] = state[x] + 1;que.push(x + i);}}}return state[n];}
int numSquares(int n) { //DPvector<int> dp(n+1,0);for (int i = 1; i <= n; i++){int square = INT_MAX;for (int j = 1; j*j <= i; j++)square = min(square, dp[i - j*j] + 1);dp[i] = square;}return dp[n];}
0 0
- [Leetcode] #279 Perfect Squares (BFS, DP)
- LeetCode Perfect Squares DP
- leetcode 279. Perfect Squares【dp】
- leetcode 279: Perfect Squares
- Leetcode 279 Perfect Squares
- Leetcode #279 Perfect Squares
- [leetcode 279]Perfect Squares
- Leetcode:279Perfect Squares
- [LeetCode 279] Perfect Squares
- Perfect Squares - LeetCode 279
- leetcode 279 : Perfect Squares
- LeetCode 279: Perfect Squares
- LeetCode 279 Perfect Squares
- leetcode 279 : Perfect Squares
- (LeetCode 279) Perfect Squares
- LeetCode 279 Perfect Squares
- LeetCode-279:Perfect Squares
- LeetCode[279] Perfect Squares
- 利用PCL处理Realsense点云数据-显示点云法线方向及出现问题的解决
- RMAN备份恢复系列之系统表空间恢复
- 【学习笔记】java面向对象复习05
- 搜索二叉树
- java 猜数字游戏
- [Leetcode] #279 Perfect Squares (BFS, DP)
- Java搞基IO流的基础二三事之三
- Qt学习笔记:事件系统
- Java学习5 数组
- javase小项目
- SharedPreferences 保存值
- java事务处理全解析(一)
- 第四届蓝桥杯B组第三题快速排序
- VC6.0中清除程序中所有的断点?