Как найти наибольшее значение в массиве чисел с помощью цикла JavaScript #shorts

preview_player
Показать описание
В этом простом #shorts примере мы будем использовать 4 базовых элемента языка программирования JS это цикл, массив, функцию и условие чтобы найти наибольшее число в массиве.

Данное задание один из популярных вопросов на позицию intern/junior

Рекомендации по теме
Комментарии
Автор

Думал что-то неожиданное будет в конце. Сюрпризом оказалось то, что континент для недоразвитых

denisluke
Автор

Это где таких джунов собеседуют?)) Такое даже пятиклассник решит

akiko
Автор

- Math.max?
- Да не, давай изобретать велосипед

KissMyS
Автор

если мы переменную проинициализировали первым элементом массива, то первая итерация цикла уже не нужна и пробегаться по массиву можно со второго элемента - то тут нужно использовать цикл for или while, где мы можем влиять на количество итераций

nickolayarbuzov
Автор

Если ты сделаешь это циклом фор, то твоё собеседование закончится немножко раньше.

Timepaw
Автор

Вставлю свои 5 копеек
Кто предлагает сортировать массив, приносят дополнительную сложность в алгоритм, это даже для джуна косяк
Кто не знает про reduce, минус балл
Автор приводит одно из лучших решений, потому что Math.max(...arr) хоть и ванлайн, но работает в 2 раза дольше и жрет память. Деструктуризация это тоже действие и его сложность N, поэтому мы имеем 2N вместо N из решения
Редьюсом это решение элегантнее и равно по сложности

goldstein
Автор

const arr = [1, 44, 567, 343, 3, 4]

const ap = arr.sort((a, b) => a - b)
console.log(ap[ap.length - 1])

js-nhrp
Автор

На джуна в детский садик еще нужно пояснить что такое переменная

Fluxdeken
Автор

А что в джуны теперь пятиклассников набирают?)

sbzwtrw
Автор

В Томском политехе в 1994 на 1 курсе проходили, сначала блок схемы рисовали, потом прогу писали…наверно до сих пор смогу написать на Бейсике или паскале )

vadimkuznetsov
Автор

Отсортировал и взял последний, но спс 😊

mikedastro
Автор

Можно еще так.
var numbers = [20, 84, 9, 42, 10, 16, 24];

var sorted = numbers.slice().sort(function(a, b) {
return a - b;
});

var smallest = sorted[0],
secondSmallest = sorted[1],
secondLargest = sorted[sorted.length - 2],
largest = sorted[sorted.length - 1];

console.log('Smallest: ' + smallest);
console.log('Second Smallest: ' + secondSmallest);
console.log('Second Largest: ' + secondLargest);
console.log('Largest: ' + largest);

echbob
Автор

В коментах одни мамкины программисты решили поумничать готовыми функциями😂 но не додумались понять суть видео

archibaldo
Автор

сегодня эту тему проходил на С#. Всё тоже самое.

Maks-vouo
Автор

// Используя Math.max
const array = [1, 2, 3, 4, 5];
const max = Math.max(...array);
console.log(max); // Выводит: 5
//пользуйтесь!

TylerMacClane
Автор

Также питон: просто взял и написал max(arr)

super_man-ArtOfWar
Автор

arr.reduce((prev, current) => Math.max(prev, current))

HellBelk
Автор

Тем временем питон: не, ну так тоже можно

nyorai..
Автор

Ща бы линейным поиском на собесах пользоваться.

cwbctgq
Автор

Задачка интересная сегодня попалась для теста чела на логику(давно её видел, но сегодня ещё раз наткнулся):
На вход поступает массив натуральных чисел, функция возвращает максимальную длину повторяющихся подряд чисел.
Знатоки из комментов, подскажите как запрогать эту задачу, чтобы она работала быстрее всего на чистом C или на вашем языке?

berger_king_govno