leetcode-69. Sqrt(x)
2016-12-13 22:12
323 查看
leetcode-69. Sqrt(x)
题目:mplement int sqrt(int x).
Compute and return the square root of x.
基本思路就是2分法。但是需要考虑一下,如果x的开根号之后不是整数的情况。这中情况下就找离结果最近的数,可以利用mid==i或者mid==j来判断。另外需要对1做单独处理
public class Solution { public int mySqrt(int x) { if(x==1) return 1; long i = 0, j = x; while(i<j){ long mid = (i+j)/2; long sum = mid*mid; if(mid==i||mid==j||sum==x) return (int)mid; if(sum<x) i=mid; else j=mid; } return (int)i; } }
相关文章推荐
- 【LeetCode】69. Sqrt(x)
- leetcode: 69. Sqrt(x)
- LeetCode 69 — Sqrt(x)(C++ Java Python)
- [Leetcode] 69. Sqrt(x)
- [leetcode] 69. Sqrt(x) 解题报告
- LeetCode 69. Sqrt(x)
- [Leetcode 85] 69 Sqrt(x)
- LeetCode | 69. Sqrt(x)
- [leetcode]: 69. Sqrt(x)
- LeetCode 69 Sqrt(x)
- leetcode69 Sqrt(x)
- LeetCode 第 69 题 (Sqrt(x))
- [Leetcode] 69. Sqrt(x) 解题报告
- 【LeetCode 69】Sqrt(x) (Python)
- LeetCode --- 69. Sqrt(x)
- LeetCode 69. Sqrt(x) (平方根)
- leetCode 69.Sqrt(x) (平方根) 解题思路和方法
- leetcode 69. Sqrt(x)(C语言,牛顿迭代法求开方问题)46
- LeetCode - 69. Sqrt(x)
- 【LeetCode】69. Sqrt(x) (2 solutions)