public static int getUniqueValues(int... array) {
int count = 0;
label1:
for (int i = 0; i < array.length - 1; i++) {
for (int j = i + 1; j < array.length; j++)
if (array[i] == array[j])
continue label1;
count++;
}
return ++count;
}
Не очень люблю когда готовое решение всплывает само по себе во время обучения. Я не могу понять зачем в конце надо еще раз увеличить на единицу count. А все у меня длина на -1 в первом форе…
public static int getUniqueValues(int...arr)
{
if (arr.length == 0)
throw new IllegalArgumentException("empty array");
if (arr.length == 1)
return 1;
Arrays.sort(arr);
int res = 0;
for (int i = 1; i < arr.length; i++)
if (arr[i] != arr[i - 1])
res++;
if (arr[0] != arr[1])
res++;
return res;
}
ПЕРЕЙДИТЕ В ПОЛНУЮ ВЕРСИЮ