LeetCode | Sqrt(x)
2013-09-22 11:24
204 查看
题目:
Implementint sqrt(int x).
Compute and return the square root of x.
思路:
利用二分法查找:第一种可能性是直接找到能够麻烦要求的数;第二种可能性是找到相邻的两个数,可以比较两个数哪一个离target更近,不过题目当中希望找的是更小的那个数。代码:
class Solution { public: int sqrt(int x) { // Start typing your C/C++ solution below // DO NOT write int main() function if(x<=1) { return x; } int left = 1; int right = x; while(left<=right) { int mid = left + ((right-left)>>1); if(mid == x/mid) { return mid; } else if(mid < x/mid) { left = mid + 1; } else { right = mid - 1; } } return right; /*int r = right * right; int l = left * left; if((x-r) > (l-x)) { return left; } else { return right; }*/ } };
相关文章推荐
- [Leetcode]69.Sqrt(x)
- Sqrt(x) -- leetcode
- leetcode解题方案--069--sqrt(x)
- LeetCode 69. Sqrt(x)
- leetcode之sqrt
- 【LeetCode】Sqrt(x)
- leetCode力扣之Sqrt(x)
- LeetCode 69. Sqrt(x)
- leetcode--Sqrt(x)
- Leetcode134: Sqrt(x)
- [勇者闯LeetCode] 69. Sqrt(x)
- [LeetCode] Sqrt(x)
- 【leetcode】sqrt
- LeetCode-Sqrt(x)
- leetcode: 69. Sqrt(x)
- LeetCode: Sqrt(x) [069]
- LeetCode-69.Sqrt(x)
- LeetCode_sqrt(x)
- LeetCode-Sqrt(x)
- Leetcode 50. Pow(x, n) & 69. Sqrt(x)