[leetcode]633. Sum of Square Numbers
2017-07-08 10:52
295 查看
Given a non-negative integer
that a2 + b2 = c.
Example 1:
Example 2:
方法一:两遍for循环, 复杂度o(n2), 会time limit 报错
public boolean judgeSquareSum(int c) {
for(int i=0;i<=c;i++) {
for(int j=0;j<=c;j++) {
if(i*i+j*j==c) {
return true;
}
}
}
return false;
}
方法二:从0 和sqrt(n)两端分别查找
public boolean judgeSquareSum2(int c) {
int low = 0;
int high = (int)Math.sqrt(c);
while(low<=high) {
int sum = low*low+high*high;
if(sum<c) {
low++;
} else if(sum>c) {
high--;
} else {
return true;
}
}
return false;
}
c, your task is to decide whether there're two integers
aand
bsuch
that a2 + b2 = c.
Example 1:
Input: 5 Output: True Explanation: 1 * 1 + 2 * 2 = 5
Example 2:
Input: 3 Output: False
方法一:两遍for循环, 复杂度o(n2), 会time limit 报错
public boolean judgeSquareSum(int c) {
for(int i=0;i<=c;i++) {
for(int j=0;j<=c;j++) {
if(i*i+j*j==c) {
return true;
}
}
}
return false;
}
方法二:从0 和sqrt(n)两端分别查找
public boolean judgeSquareSum2(int c) {
int low = 0;
int high = (int)Math.sqrt(c);
while(low<=high) {
int sum = low*low+high*high;
if(sum<c) {
low++;
} else if(sum>c) {
high--;
} else {
return true;
}
}
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(Python & C++)
- [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
- Leetcode 633. Sum of Square Numbers(Easy)
- LeetCode 633. Sum of Square Number
- 633. Sum of Square Numbers标题
- 2017.12.25 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 Numbers