宁波网站建设制作的公司重庆电子商务seo
题目链接
有效的完全平方数
题目描述
注意点
- 1 <= num <= 2^31 - 1
解答思路
- 二分查找的思想,初始l = 1,r = num,对中间点mid求平方后判断其与num的关系。如果相等,则num是有效的完全平方数,返回true;如果小于num,则将l移至mid右侧;如果大于num,则将r移至mid左侧
代码
class Solution {public boolean isPerfectSquare(int num) {int l = 1;int r = num;while (l <= r) {int mid = l + ((r - l) >> 1);long square = (long) mid * mid;if (square == num) {return true;}if (square > num) {r = mid - 1; } else {l = mid + 1;}}return false;}
}
关键点
- 二分查找的思想
- 注意整型越界问题