leetcode:数学: Perfect Squares(279)
2016-08-30 15:53
471 查看
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.
For example, given n = 12, return 3 because 12 = 4 + 4 + 4; given n = 13, return 2 because 13 = 4 + 9.
class Solution { public: int numSquares(int n) { while (n % 4 == 0) n /= 4; if (n % 8 == 7) return 4; for (int a = 0; a * a <= n; ++a) { int b = sqrt(n - a * a); if (a * a + b * b == n) { return !!a + !!b; } } return 3; } };
相关文章推荐
- LeetCode(279)Perfect Squares
- leetcode 279 : Perfect Squares
- leetcode(279). Perfect Squares
- LeetCode(279)Perfect Squares
- leetcode279-Perfect Squares
- LeetCode(279)Perfect Squares
- [LeetCode#279] Perfect Squares
- LeetCode(279)Perfect Squares
- (LeetCode 279) Perfect Squares
- LeetCode #279 - Perfect Squares - Medium
- 【leetcode】Perfect Squares (#279)
- LeetCode 279: Perfect Squares
- [Leetcode] #279 Perfect Squares (BFS, DP)
- LeetCode279——Perfect Squares
- [leetcode279] perfect squares
- leetcode 279 : Perfect Squares
- LeetCode[279] Perfect Squares
- LeetCode 279 Perfect Squares 题解
- [LeetCode 279] Perfect Squares
- leetcode279:Perfect Squares