网站建设收费价格今日足球赛事推荐
文章目录
- 题目
- 方法一:二分查找
题目
方法一:二分查找
找 1 - num 之间的 mid, 开方是整数 就找得到 mid, 不是整数自然找不到mid
class Solution {
// 二分查找 ;找 1 - num 之间的mid 开方是整数 就找得到 不是整数自然找不到public boolean isPerfectSquare(int num) {int res = serach(num);if(res == -1) return false;else return true;}// 二分查找public int serach(int num){int left = 1;int right =num;while(left <= right){int mid = left + (right - left)/2;if((long)mid * mid == num) {return mid;//找到整数了 说明num开方是整数}else if((long)mid * mid > num) right = mid -1;else left = mid + 1;}return -1;}
}
相似的题目:【LeetCode-中等题】69. x 的平方根