Viết hàm trả về mảng 2 phần tử: tổng nhỏ nhất và lớn nhất có thể khi loại bỏ đúng 1 phần tử. Chỉ dùng 1 vòng lặp.
Ví dụ: [12,1,4,8,5] → [18,29] (loại 12 → min, loại 1 → max).
Ví dụ
const arr = [12, 1, 4, 8, 5];
const findExtremeNumbers = (arr = []) => {
let sum = 0, min = Infinity, max = -Infinity;
for (let i = 0; i < arr.length; i++) {
const curr = arr[i];
sum += curr;
if (curr > max) max = curr;
if (curr < min) min = curr;
}
return [sum - max, sum - min];
};
console.log(findExtremeNumbers(arr));
Kết quả
[18, 29]