@Shahnazaryan

Как найти второе по величине значение в массиве?

С помощью метода find(); мне надо найти второе по величине значение в данном массиве.

Массив
const array = [1,2,5,4,9,3];
  • Вопрос задан
  • 1921 просмотр
Пригласить эксперта
Ответы на вопрос 4
sergiks
@sergiks Куратор тега JavaScript
♬♬
const max = Math.max(...array);
const second = array.reduce((acc, c) => c === max ? acc : Math.max(acc, c));
Ответ написан
Комментировать
Shull
@Shull
хочу быть хорошим IT-шником
Простите, но find - это, вроде, строковый инструмент. Как одна буква может быть больше другой?
Попробуйте без find-a:
#массив без повторяющихся элементов
x=[50,40,60,80,20,90,100]

first=0 #тут будет 1-й по размеру элемент
second=0 # тут будет 2-й по размеру элемент

for i in range(len(x)):
    print("рассмотрим элемент ",x[i],end=". ")
    if x[i]>first and x[i]>second:
        print("Он на первом месте! Бывший чемпион смещается на второе место.")
        second=first
        first=x[i]
    elif x[i]<first and x[i]>second:
        print("Он на втором месте")
        second=x[i]
    else: print("Он меньше first и second 0_0' ")
    print("first =",first,"second =",second,"\n")
Ответ написан
Alexandroppolus
@Alexandroppolus
кодир
С помощью метода find нельзя найти второе по величине значение.
Если попытаться всё сделать только одним вызовом find, то мы в любом случае должны дойти до конца массива. А там мы можем вернуть только последний элемент.
Если же кроме find использовать ещё что-то, то сам по себе find после этого не понадобится.
В общем, странная задача какая-то.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы