leetcode系列–第367题.有效的完全平方数
给定一个 正整数 num ,编写一个函数,如果 num 是一个完全平方数,则返回 true ,否则返回 false 。
进阶:不要 使用任何内置的库函数,如 sqrt 。
输入:num = 16
输出:true
输入:num = 14
输出:false
var isPerfectSquare = function(num) {
let sqrtNum = Math.sqrt(num);
if (Math.floor(sqrtNum) === sqrtNum) {
return true
} else {
return false
}
};
var isPerfectSquare = function (num) {
let left = 1,
right = num
while (left <= right) {
const mid = Math.floor((right - left) / 2) + left;
if (mid * mid === num) {
return true
} else if (mid * mid > num) {
right = mid - 1
} else if (mid * mid < num) {
left = mid + 1
}
}
return false
};