leecode69X的平方根和367有效的完全平方根-题目讲解和代码
代码讲解
69 源代码
class Solution {
public int mySqrt(int x) {
int left=0,right=x/2+1;
int m=0;
while(left<=right){
//易错点1,容易忽略这个当平方比较大的时候会直接超过这个int型数据的范围
m=(left+right)/2;
if(1.0*m*m<1.0*x){
left=m+1;
}else if(1.0*m*m>1.0*x){
right=m-1;
}else return m;
}
return right;
}
}
367 源代码
class Solution {
public boolean isPerfectSquare(int num) {
int left=1,right=num/2+1;
int m=0;
while(left<=right){
//与69题的区别是,这一个找不到了就找不到了,上一个找不到你要确定一个最相近的
m=(left+right)/2;
if(1.0*m*m<1.0*num){
left=m+1;
}else if(1.0*m*m>1.0*num){
right=m-1;
}else return true;
}
return false;
}
}
本文作者:TranquilGlow
本文链接:https://www.cnblogs.com/xuehaiqiule/p/17621638.html
版权声明:本作品采用知识共享署名-非商业性使用-禁止演绎 2.5 中国大陆许可协议进行许可。
分类:
标签:
,
,
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步