📅  最后修改于: 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$。