Закончились бесплатные истории? Вот моя Ссылка для друзей.
Я опубликовал электронную книгу. Подборка 100 Java(интервью)решенных проблем программирования. Я дал четкое объяснение и код в книге. Поверьте мне, когда я говорю, что это даст толчок к получению работы в компании вашей мечты.



Свечи для торта ко дню рождения

Вы отвечаете за торт на день рождения вашей племянницы и решили, что в торте будет по одной свече на каждый год ее общего возраста. Когда она задует свечи, она сможет задуть только самые высокие. Ваша задача — узнать, сколько свечей она сможет успешно задуть.

Например, если вашей племяннице исполняется 4 года, а на торте будут свечи высотой 3 , 2 , 1 , 3 , она сможет успешно задуть 2 свечи, так как самая высокая свеча имеет высоту 3 и есть 2 такие свечи.

Завершите функцию birthdayCakeCandles, которая принимает возраст вашей племянницы и целочисленный массив, содержащий высоту каждой свечи в качестве входных данных, и возвращает количество свечей, которые она может успешно задуть.

Формат ввода

Первая строка содержит одно целое числоn , обозначающее количество свечей на торте.
Вторая строка содержит nцелые числа, разделенные пробелами, где каждое целое число i описывает высоту свеча i.

Формат вывода

В новой строке выведите количество свечей, которые можно задуть.

Мотив проблемы

В этой задаче нам нужно найти количество максимальных элементов, присутствующих в массиве.

Вместо того, чтобы задавать максимальный элемент, мы должны найти, какой из них является максимальным.

Таким образом, нам нужно найти максимальный элемент, присутствующий внутри массива. Впоследствии мы должны найти, сколько раз этот элемент присутствует в этом массиве.

Переменные не требуются:

Переменная для массива. Индексная переменная для указанного массива. А переменная the обозначает длину массива.

3переменные всегда требуются при выполнении операций над массивом.

1переменная, которая используется для хранения максимального количества элементов, присутствующих в массиве.

1переменная, которая используется для хранения количества максимального элемента.

В конечном итоге для решения программы можно использовать 5 переменных.

Алгоритм

  • Создайте объект класса сканера, который используется для чтения ввода от пользователя.
  • Считайте переменную n,количество элементов в массиве.

Arrays.sort(name_of_Array);

  • Чтобы найти максимальный элемент, отсортируйте массив с помощью встроенной функции Java Arrays.sort();
  • Arrays.sort() сортирует элементы массива в порядке неубывания (по возрастанию).
  • Таким образом, последний элемент массива будет максимальным элементом. n — длина массива. Поскольку массив имеет нулевой индекс, n-1будет последним элементом массива.

интервал макс=высота[n-1];

  • Теперь, чтобы узнать количество максимальных элементов, присутствующих в массиве.
  • Пройдите через массив и проверьте эквивалентность максимального элемента текущему элементу массива.

if(max==height[i])
count++;

  • Если есть эквивалентность, увеличьте переменную count.
  • После обхода. Требуемым результатом будет значение переменной count.
  • Распечатайте переменную count.

Код

Заключение

Для проблемы не существует единого решения. Работайте над Кодексом. Поделитесь со мной своими мыслями.

Вы можете подписаться на меня, чтобы получать обновления, когда я публикую новые задачи по программированию. Также вы можете присылать мне свои решения или свои идеи для любой задачи кодирования. Я был бы рад их прочитать. ;)

Спасибо за чтение.