367.有效的完全平方数
链接:367.有效的完全平方数
难度:Easy
标签:数学、二分查找
简介:给定一个 正整数 num ,编写一个函数,如果 num 是一个完全平方数,则返回 true ,否则返回 false 。
题解 1 - typescript
- 编辑时间:2021-11-04
- 执行用时:80ms
- 内存消耗:39.3MB
- 编程语言:typescript
- 解法介绍:Math.sqrt。
function isPerfectSquare(num: number): boolean {
  const s = Math.sqrt(num);
  return s === Math.floor(s);
}
题解 2 - typescript
- 编辑时间:2021-11-04
- 执行用时:76ms
- 内存消耗:39.3MB
- 编程语言:typescript
- 解法介绍:二分。
function isPerfectSquare(num: number): boolean {
  if (num === 1) return true;
  let l = 1,
    r = num / 2;
  while (l <= r) {
    const mid = (l + r) >> 1;
    const midNum = mid ** 2;
    if (midNum === num) return true;
    if (midNum > num) r = mid - 1;
    else l = mid + 1;
  }
  return false;
}