跳到主要内容

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;
}