📜  数组中最大的完全平方数(1)

📅  最后修改于: 2023-12-03 15:40:02.915000             🧑  作者: Mango

数组中最大的完全平方数

本文介绍如何在一个整数数组中找到最大的完全平方数,并给出代码实现。

什么是完全平方数

完全平方数,又称平方数,是某个整数的平方,比如$1^2$,$2^2$,$3^2$...以此类推。完全平方数的特点是它们的根号是整数。

如何找到数组中最大的完全平方数

我们可以遍历整个数组,将数组中每个数都开方,如果开方能得到一个整数,那么这个数就是完全平方数。同时,我们可以记录下来发现过的最大完全平方数,最终返回这个最大完全平方数。

以下是该算法的伪代码实现:

function findLargestPerfectSquare(arr) {
  let largestPerfectSquare = -1;
  for (let num of arr) {
    let sqrt = Math.sqrt(num);
    if (sqrt === Math.floor(sqrt) && sqrt > largestPerfectSquare) {
      largestPerfectSquare = sqrt;
    }
  }
  return largestPerfectSquare;
}

该算法的时间复杂度为$O(n)$,其中$n$为数组的长度。

示例代码

下面是完整的 JavaScript 代码实现:

function findLargestPerfectSquare(arr) {
  let largestPerfectSquare = -1;
  for (let num of arr) {
    let sqrt = Math.sqrt(num);
    if (sqrt === Math.floor(sqrt) && sqrt > largestPerfectSquare) {
      largestPerfectSquare = sqrt;
    }
  }
  return largestPerfectSquare;
}

// Example Usage
let arr = [1, 2, 3, 4, 5, 16, 25, 50, 100, 169];
let largestPerfectSquare = findLargestPerfectSquare(arr);
console.log(largestPerfectSquare); // Output: 13

在上面的示例中,我们将一个包含不同完全平方数的数组传递给findLargestPerfectSquare函数,并打印了函数的返回值,即最大的完全平方数。在这种情况下,最大的完全平方数是$13^2$,即$169$。