#283 Поиск индекса первого дубликата

Компании:
Газпромбанк IT_ONE
Темы:
АлгоритмыМассивыПрактика

Метод работает не всегда корректно. Как его можно отрефакторить или переписать, и как проверить, что ничего не сломалось? В будущем, возможно, нужно будет сделать похожий метод, который найдет все дубликаты, их индексы и количество. Метод должен будет работать не только с int, но и с объектами. Сейчас метод возвращает индекс элемента в последовательности чисел, который соответствует дубликату.

public int findDuplicateIndex(int... numbers) {
    int[] countArray = new int[numbers.length];
    for (int i = 0; i < numbers.length; i++) {
        int current = numbers[i];
        if (countArray[current] > 0) {
            return i;
        } else {
            countArray[current] += 1;
        }
    }
    throw new RuntimeException("Duplicate not found!");
}

Разбор вопроса

Ментор
Ответь как на реальном собеседовании. Я задам уточняющие вопросы, а затем сравню твой ответ с эталонным и покажу точность в %.
Войди, чтобы начать диалог Ментор ведёт диалог по текущему вопросу и учитывает предыдущие сообщения.
Войти