Рубрики
Без рубрики

Задача со свечами на день рождения и работа со списком массивов

Я изучаю Java и хотел посмотреть, смогу ли я решить некоторые проблемы с HackerRank. Имейте в виду, что т… Помеченный java.

Я изучаю Java и хотел посмотреть, смогу ли я решить некоторые проблемы с HackerRank. Имейте в виду, что я сразу приступаю к решению этой проблемы и не беспокоюсь обо всех этих других вещах в их редакторе.

При решении этой проблемы мне пришлось выполнить быстрый поиск arraylist, так как я еще не так далеко продвинулся в своих уроках Java. Что мне в них нравится, так это то, что они изменчивы, в то время как обычный Java-массив неизменяем. Можно с уверенностью предположить, что они используются чаще, чем обычные массивы в Java. Любой желающий может смело вызвать меня и поправить в этом вопросе.

Проблема заключается в следующем…

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

Итак, мой мыслительный процесс…. “Когда меня волновало, какой высоты были мои свечи на тортах, потому что я их все задул”….jk

Сначала я должен был выяснить, что должен был дать мне результат. Когда я изучал приведенные примеры, это было легче понять.

Входные данные будут принимать arraylist целых чисел как таковой….

[1,5,6,6]

Затем они принимаются в метод, а arraylist – это аргумент, принятый в параметры метода.

public static int birthdayCakeCandles(List candles) {

}

Отсюда становится веселее…

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

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

public static int birthdayCakeCandles(List candles) {
 int tallest = candles.get(0)

}

Следующая часть – мне нужен какой-то подсчет, так как он запрашивает у меня количество самых высоких свечей. Я объявлю переменную с именем “sum”, которая будет отслеживать эту страну

public static int birthdayCakeCandles(List candles) {
 int tallest = candles.get(0)
 int sum = 0


}

Отсюда я столкнулся с двумя маленькими неизвестными…. Мне нужно было определить, какая свеча (свечи) является/являются самой высокой из свечей, тогда я смогу посчитать их оттуда. Для этого я реализовал два цикла for, проверяющих эти условия отдельно, прежде чем мне был дан окончательный подсчет.

public static int birthdayCakeCandles(List candles) {
 int tallest = candles.get(0)
 int sum = 0
//If the i value is greater than the inital tallest...tallest is reassigned that value until another values get assigned or not.

for (Integer i : candles){
        if (tallest < i){
            tallest = i;
        }     

    }


}

Затем вы будете отслеживать количество самых высоких, сообщив своему циклу for увеличить количество, если i равно текущему самому высокому значению

public static int birthdayCakeCandles(List candles) {
 int tallest = candles.get(0)
 int sum = 0

for (Integer i : candles){
        if (tallest < i){
            tallest = i;
        }     

    }

for (Integer i : candles){
        if (i == tallest){
        sum += 1;
        }

    }


}

Затем последнее, но не менее важное….. вы вернете сумму

public static int birthdayCakeCandles(List candles) {

    int highest = candles.get(0);
    int sum = 0;
    for (Integer i : candles){
        if (highest < i){
            highest = i;
        }     

    }

    for (Integer i : candles){
        if (i == highest){
        sum += 1;
        }

    }


      return sum;//should return 2 if we are using the array from earlier

    }


}

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

Оригинал: “https://dev.to/curchadw/birthday-cake-candles-challenge-and-working-with-an-array-list-2i72”