Показать сообщение отдельно
  #2 (permalink)  
Старый 22.03.2024, 22:06
Аватар для voraa
Профессор
Отправить личное сообщение для voraa Посмотреть профиль Найти все сообщения от voraa
 
Регистрация: 03.02.2020
Сообщений: 2,750

Обязательно рекурсивную?
Без рекурсии, вроде так
function secondMin (arr) {
	if (arr.length <= 1) return undefined;
	let [min1, min2] = (arr[0] < arr[1])? [arr[0], arr[1]] : [arr[1], arr[0]];
	for (let i = 2; i < arr.length; i++) {
		if (arr[i] < min1) {
			min2 = min1; 
			min1 = arr[i];
		} else if (arr[i] < min2) {
			min2 = arr[i];		
		}
	}
	return min2;
}

console.log (secondMin([3, 1, 2]));
console.log (secondMin([1, 4, 2, 9, -1]));
console.log (secondMin([2, 1, 3, 4]));
console.log (secondMin([2, 1, 0, 3]));
Ответить с цитированием