leetcode 633. Sum of Square Numbers
2017-09-13 13:42
141 查看
1.题目
Given a non-negative integer c, your task is to decide whether there’re two integers a and b such that a2 + b2 = c.给一个数字C,判断C是否能由两个数的平方组成
Example 1:
Input: 5
Output: True
Explanation: 1 * 1 + 2 * 2 = 5
Example 2:
Input: 3
Output: False
2.分析
要找出是否存在a2 + b2 = c. 先限定a,b的范围。 0<=a,b<=sqrt(c)然后从两端向中间逼近。
3.代码
class Solution { public: bool judgeSquareSum(int c) { int left = 0, right = sqrt(c); while (left <= right) { int result = left*left + right*right; if (result == c) return true; else if (result < c) ++left; else --right; } return false; } };
相关文章推荐
- leetcode 633. Sum of Square Numbers
- leetcode 633. Sum of Square Numbers
- [Leetcode] 633. Sum of Square Numbers 解题报告
- LeetCode 633. Sum of Square Numbers
- LeetCode 633. Sum of Square Numbers
- LeetCode 633. Sum of Square Numbers
- [LeetCode]633. Sum of Square Numbers
- 【leetcode】633. Sum of Square Numbers(Python & C++)
- [leetcode]633. Sum of Square Numbers
- leetcode 633. Sum of Square Numbers 二分查找+勾股定理
- Leetcode 633. Sum of Square Numbers(Easy)
- [leetcode]633. Sum of Square Numbers
- LeetCode 633. Sum of Square Numbers
- 633. Sum of Square Numbers
- 633. Sum of Square Numbers。
- 633. Sum of Square Numbers
- LeetCode 633. Sum of Square Number
- 633. Sum of Square Numbers标题
- LeetCode-633. Sum of Square Numbers
- 2017.12.25 LeetCode 633. Sum of Square Numbers【思维枚举】