Показать сообщение отдельно
  #6 (permalink)  
Старый 23.03.2024, 17:29
Аватар для Alexandroppolus
Профессор
Отправить личное сообщение для Alexandroppolus Посмотреть профиль Найти все сообщения от Alexandroppolus
 
Регистрация: 25.10.2016
Сообщений: 1,012

у меня так получилось
const secondMinRec = (arr, len) => {
    if (len < 2) {
        return [arr[0] ?? Infinity, Infinity];
    }

    const rec = secondMinRec(arr, len - 1);
    const current = arr[len - 1];

    if (current < rec[0]) {
        rec[1] = rec[0];
        rec[0] = current;
    } else {
        rec[1] = Math.min(rec[1], current);
    }
    return rec;
}

const secondMin = (arr) => secondMinRec(arr, arr.length)[1];
Ответить с цитированием