[LeetCode102]Sqrt(x)
2014-06-20 01:01
405 查看
Implement
Compute and return the square root of x.
Analysis:
In an interview, they expected the solution is using binary search, not Newton's Method.
Java
C++
newton method
int sqrt(int x).
Compute and return the square root of x.
Analysis:
In an interview, they expected the solution is using binary search, not Newton's Method.
Java
public int sqrt(int x) { long high = x; long low = 0; if(x<=0) return 0; if(x==1) return 1; while(high-low>1){ long mid = low+(high-low)/2; if(mid*mid<=x) low = mid; else { high = mid; } } return (int) low; }
C++
int sqrt(int x) { unsigned long long begin =0; unsigned long long end = (x+1)/2; unsigned long long mid; unsigned long long temp; while(begin<end){ mid = begin+(end-begin)/2; temp = mid*mid; if(temp == x) return mid; else if(temp<x) begin = mid+1; else end = mid-1; } temp = end*end; if(temp>x) return end-1; else return end; }
newton method
int sqrt(int x) { if(x==0) return 0; double pre; double cur =1; do{ pre = cur; cur = x/(2*pre)+ pre/2.0; }while(abs(cur-pre)>0.0000001); return int(cur); }
相关文章推荐
- LeetCode之Sqrt(x)
- LeetCode 102 Binary Tree Level Order Traversal
- leetcode 53: Sqrt(x)
- leetcode 69. Sqrt(x)
- LeetCode - Sqrt(x)
- leetcode Sqrt(x) 求开方
- 69. Sqrt(x) leetcode
- LeetCode 69. Sqrt(x)
- LeetCode – Refresh – Sqrt(x)
- [Leetcode] 69. Sqrt(x)
- leetcode: 69. Sqrt(x)
- Leetcode 69 Sqrt(x) 求x开根号的整数部分
- [Leetcode] Sqrt(x)
- 【LeetCode-面试算法经典-Java实现】【102-Binary Tree Level Order Traversal(二叉树层序遍历)】
- LeetCode —— Sqrt(x)
- leetcode 69 sqrt(x)
- Sqrt(x) leetcode
- Leetcode 102 & 106
- LeetCode(69) Sqrt(x)
- 算法中可以使用不等式变换避免溢出,leetcode:Sqrt(x) ,BigInteger处理溢出