367.有效的完全平方数

2020-05-18
有效的完全平方数

给定一个正整数 num,编写一个函数,如果 num 是一个完全平方数,

则返回 True,否则返回 False。

题解:
思路1:双指针二分查找
/**
 * @param {number} num
 * @return {boolean}
 */
var isPerfectSquare = function (num) {
  if (num < 2) return true; // 
  let l = 2, r = num, x; // l是左指针 r 是右指针
  while (l <= r) {
    x = Math.floor((l + r) / 2); // 取左右中点
    if (x * x === num) return true; 
    else if (x * x > num) r = x - 1; // 如果>num 右指针取x - 1
    else l = x + 1;
  }
  return false;
};

 

 
posted @ 2020-05-18 09:44  蓝小胖纸  阅读(178)  评论(0编辑  收藏  举报