llllmz

导航

< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

统计

69. x 的平方根

这题也是利用二分查找来计算。

首先区间是[0,x]。通过x/2的平方判断应该区间左移还是区间右移,同时值得注意的是要记录mid的平方小于x的mid值,因为比如8的平方根是2,所以平方小于x的mid要记录。

class Solution {
public:
int mySqrt(int x) {
int left = 0, right = x ,ans = 0;
while(left <= right){
int mid = left + (right - left) / 2;
if((long long)mid * mid == x){
return mid;
}else if((long long)mid * mid > x){
right = mid -1;
}else{
ans = mid;
left = mid + 1;
}
}
return ans;
}
};

 

posted on   神奇的萝卜丝  阅读(5)  评论(0编辑  收藏  举报

相关博文:
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 三行代码完成国际化适配,妙~啊~
· .NET Core 中如何实现缓存的预热?
点击右上角即可分享
微信分享提示