Leetcode 69. Sqrt(x)
2017-06-05 10:32
525 查看
这道题只是要求int型的x的int的开根号数,只要不断用二分就可以,不过要注意边界条件,比如最后当high-low==1的时候,用不用返回以及要怎么返回。代码如下:
class Solution { public: int mySqrt(int x) { if(x <= 0) return 0; int low = 1; int high = x; int mid; while(high - low > 1) { mid = low + (high - low) / 2; if(mid == x/mid) return mid; else if(mid > x/mid) high = mid; else low = mid; } if(high > x/high) return low; else return high; } };
相关文章推荐
- LeetCode 69 — Sqrt(x)(C++ Java Python)
- LeetCode-69. Sqrt(x)
- Leetcode 69 Sqrt(x)
- LeetCode(69) Sqrt(x)
- [Leetcode] 69. Sqrt(x)
- [勇者闯LeetCode] 69. Sqrt(x)
- leetcode——69——Sqrt(x)
- [Leetcode]69. Sqrt(x)
- leetcode 69. Sqrt(x)
- [Leetcode 85] 69 Sqrt(x)
- LeetCode-69-Sqrt(x)(二分法)-Medium
- LeetCode 69. Sqrt(x)
- 【Leetcode】69.Sqrt(x)
- LeetCode 69. Sqrt(x),求根算法
- leetcode 69 sqrt(x)
- LeetCode --- 69. Sqrt(x)
- Leetcode 69 Sqrt(x)
- leetcode 69 - Sqrt(x)
- leetcode:69. Sqrt(x)
- 【LeetCode】69. Sqrt(x) (2 solutions)