LeetCode 69 Sqrt(x)
2018-01-24 21:52
525 查看
public int mySqrt(int x) { // method1直接调用api这个方法太强 // return (int)Math.sqrt((double)x); // method2,最大整数的根,然后二分查找 // int MAX = 2147483647; sqrt(MAX) = 46340 int max_mid = 46340; long ans = x; int left = 0; int right = max_mid; int mid = (left+right)>>1; while(left<=right) { if(ans==mid*mid) return mid; else if(ans<mid*mid) {//太大就变小一点 right = mid - 1; mid = (left+right)>>1; }else {//太小就变大一点 left = mid + 1; mid = (left+right)>>1; } } //最后 right*right < ans*ans < left*left return right; }
相关文章推荐
- LeetCode(69) Sqrt(x)
- LeetCode 69. Sqrt(x)
- 【Leetcode】69.Sqrt(x)
- LeetCode-69-Sqrt(x)-E
- LeetCode69 Sqrt(x)
- LeetCode-69 Sqrt(x)
- 【LeetCode】69. Sqrt(x)解法及注释
- leetcode 69: Sqrt(x)
- <LeetCode OJ> 69. Sqrt(x)
- leetcode 69. Sqrt(x)
- leetcode 69 Sqrt(x)
- leetcode 69. Sqrt(x)
- leetcode 69 Sqrt
- [leetcode]69. Sqrt(x)
- leetcode69---Sqrt(x)
- 【Leetcode】69. Sqrt(x) 【溢出?如何防止?】
- [LeetCode] 69. Sqrt(x)
- 【LeetCode】69. Sqrt(x)
- leetcode 69 Sqrt(x)
- [Leetcode] 69. Sqrt(x)