题目:https://oj.leetcode.com/problems/sqrtx/
Implement int sqrt(int x).
Compute and return the square root of x.
分析:二分查找源码:Java版本
算法分析:时间复杂度O(logn),空间复杂度O(1)
public class Solution {
public int sqrt(int x) {
if(x<=1) {
return x;
}
int left=1,closeLeft=0,middle,right=x/2;
while(left<=right) {
middle=left+(right-left)/2;
if(x/middle>middle) {
left=middle+1;
closeLeft=middle;
}else if(x/middle<middle) {
right=middle-1;
}else {
return middle;
}
}
return closeLeft;
}
}
本文提供了一种使用二分查找算法实现的平方根计算方法,该方法可以在O(logn)的时间复杂度内求解平方根问题。
8992

被折叠的 条评论
为什么被折叠?



