169 похожих чатов

Задача: Только что вышел новый фильм «Мстители»! В кассах кинотеатра

много людей, стоящих в огромную очередь. У каждого из них есть единственная банкнота в 100, 50 или 25 долларов. Билет на «Мстителей» стоит 25 долларов.

Вася в настоящее время работает клерком. Он хочет продать билет каждому человеку в этой очереди.

Может ли Вася продать билет каждому и дать сдачу, если у него изначально нет денег и он продает билеты строго в порядке очереди?

Верните ДА, если Вася может продать билет каждому и отдать сдачу с имеющимися у него в данный момент счетами. В противном случае верните NO.

Мое решение:
function tickets(peopleInLine) {
let cassaVasia = 0;

for (let i = 0; i < peopleInLine.length; i++) {
let banknota = peopleInLine[i]; // текущая банкнота
cassaVasia += banknota; // касса

if (cassaVasia - banknota + peopleInLine[i + 1] <= cassaVasia) {
return "YES";
} else {
return "NO";
}
}
}

Но на эти массивы не проходит:

// let arr = [ 25, 25, 25, 25, 25, 100, 100 ] // NO
// [ 100, 100, 100, 100, 100, 100, 100, 100, 100, 100 ] // NO
// [ 25, 25, 25, 25, 25, 100, 100 ] // NO
// [ 50, 50, 50, 50, 50, 50, 50, 50, 50, 50 ] // NO
//[ 25, 25, 25, 25, 25, 100, 100 ] // NO

может кто поможет ?

1 ответов

9 просмотров

для начала заведи объект с количеством монет в кассе, он может выглядеть, например, так: { 25: 1, 50: 3, 100: 4 } и дальше идешь по массиву и смотришь: если числу нужна сдача, тогда уменьшаешь счетчики в объекте, начиная с большего, пока не наберется нужная сумма сдачи потом сохраняешь в объект текущую монету

Похожие вопросы

Обсуждают сегодня

$params = [ 'formid' => 'feedbackForm', 'formTpl' => '@CODE: <form class="form-validate" data-id="ajax_form"> <fieldset class="margin-bottom-md"> ...
Pathologic
1
И ещё вопрос: можно ли типа как на дос как-то запариться и с помощью прерываний выводить текст, вместо функции printf ?
НѣкъиⰘижєжєиꙁъвьсєсвѣтьноѣсѣтиѥсть•
34
Ладно, ещё тупого спрошу. Код должен банально вывести значение регистра на консоль, на деле же не выводя ничего, просто оставляя нерабочую консоль (открыта, ничего не написан...
НѣкъиⰘижєжєиꙁъвьсєсвѣтьноѣсѣтиѥсть•
25
здравствуйте. пытаюсь проверить, содержится ли в десятичном представлении инта некоторая цифра. совершаю: strstr(x, "5") != NULL) получаю ошибку с фото (заведомо неработающий ...
Катя Шевчук🪇
18
Что там вообще с кроссплатформенностью?
🄼🄰🄺🅉🄰🄸
23
Доброй ночи. Вопрос знатокам. Имеется некая таблица, результат которой выведен в DBGrid на форме. И есть форма, с помощью которой можно как добавить запись, так и отредактиров...
Евгений
28
Ребята. Этот вопрос мучает меня уже 13 - 15 лет. Почему при валидации в ФормЛистере у поля phone поведение странноватое и отличается от других? А именно, вот набор правил д...
Андрей [aharito] Харитонов
1
{ char buff = *start; *start = *end; *end = buff; } Из-за этой строчки? Что каждый символ через перем бафф? Как вариант использовать другие со...
Wenks
12
а всё почему? потому что ассемблер в отличии от яву порождает множество пагубных привычек, среди которых например можно отметить использование глобальных переменных для всего ...
Mixail Frolov
35
Кстати, а я вот тут подумал. Допустим, у нас имеется цикл который выполняет огромное количество итераций, но мы хотим, чтобы какие-то действия исполнилось только один раз. В Я...
The Bird of Hermes
23
Карта сайта