Cho mảng số, tìm ba số lớn nhất có thể tạo thành tam giác (tổng hai cạnh > cạnh còn lại) và cho chu vi lớn nhất. Trả về 0 nếu không tìm thấy.
Ví dụ
const arr = [1, 2, 3, 5, 6, 7, 9]; const largestPerimeter = (arr = []) => { arr.sort((a, b) => a - b); let max = 0; for (let i = arr.length - 1; i >= 2; i--) { let start = i - 2; let end = i - 1; while (start < end) { if (arr[end] + arr[start] > arr[i]) { return arr[end] + arr[start] + arr[i]; } else { start++; }; }; }; return 0; }; console.log(largestPerimeter(arr));
Kết quả
22