Это из битв кода.Метод работает, но, очевидно, занимает слишком много времени для больших входов.Может кто-нибудь объяснить, что неэффективно в этом решении?
Вопрос: Для массива целых чисел напишите функцию, которая определяет, содержит ли массив дубликаты.Ваша функция должна возвращать true, если какой-либо элемент встречается в массиве хотя бы дважды, и должна возвращать false, если каждый элемент различен.
Пример
Для a = [1, 2, 3,1], выходные данные должны содержать hasDuplicates (a) = true.
В данном массиве есть две единицы.
Решение:
static boolean containsDuplicates(int[] a) {
boolean elementRepeat = false;
for (int loop1 = 0; loop1 < a.length; loop1++){
for (int loop2 = 0; loop2 < a.length; loop2++){
if (a[loop1] == a[loop2] && loop1!=loop2){
elementRepeat = true;
return elementRepeat;
}
}
}
return elementRepeat;
}