Computer >> Máy Tính >  >> Lập trình >> Javascript

JavaScript Tìm số tối đa thứ ba trong một mảng

Chúng tôi được yêu cầu viết một hàm JavaScript có trong một mảng Số. Hàm phải chọn và trả về số cao thứ ba từ mảng.

Độ phức tạp về thời gian của hàm của chúng ta không được vượt quá O (n), chúng ta phải tìm số trong một lần lặp.

Ví dụ

const arr = [1, 5, 23, 3, 676, 4, 35, 4, 2];
 const findThirdMax = (arr) => {
   let [first, second, third] = [-Infinity, -Infinity, -Infinity];
   for (let el of arr) {
      if (el === first || el === second || el === third) {
         continue; };
         if (el > first) {
            [first, second, third] = [el, first, second]; continue; };
         if (el > second) {
            [second, third] = [el, second]; continue;
          };
         if (el > third) {
            third = el; continue;
      };
   };
   return third !== -Infinity ? third : first;
};
console.log(findThirdMax(arr));

Đầu ra

Và đầu ra trong bảng điều khiển sẽ là -

23