从数组中查找范围 - 递归版本



这是我的迭代算法。我想写一个递归版本
使 A 成为大小为 n 的
数组 使最小值 = 无穷大并使最大值 = -无穷大

For i from 0 to n-1
If A[i] > max
max = A[i]

if A[i] < min
min = A[i]
Return max - min

const range = (arr, min, max, i) => {
if (i == arr.length) return [min, max];
if (arr[i] > max) return range(arr, min, arr[i], i + 1);
if (arr[i] < min) return range(arr, arr[i], max, i + 1);
};
console.log(
range(
[1, 2, 3, 4, 8, 99, 432, -123],
Number.POSITIVE_INFINITY,
Number.NEGATIVE_INFINITY,
0
)
);

最新更新