- 算法
二分查找 - 核心思想
简单的二分查找问题。还是注意范围问题 - 代码
class Solution {
public boolean isPerfectSquare(int num) {
if(num == 1) return true;
int left = 1;
int right = num;
while(left <= right){
int mid = left + (right - left)/2;
long temp = (long)mid*mid;
if(temp > num){
right = mid -1;
}else if(temp < num){
left = mid + 1;
}else {
return true;
}
}
return false;
}
}