Leecode: Sqrt(x) JS解题
思路,有策略的用一个个数字的平方去和目标数比较大小,从而确定答案的区间,此处采用二分法。
function mySqrt(x: number): number {
var start:number = 0
var end:number = Math.floor(x/2)+1;
while(start < end){
var mid = start + Math.floor((end-start+1)/2); //注意此处中点采集时靠右侧采集,否则会死循环
if(mid*mid > x){
end = mid -1;
}else{
start = mid;
}
}
return start;
};