Всех приветствую, у меня такой вопрос, если у меня массив с почти всеми одинаковыми числами, например, 17 и одним каким-то другим, например, c 3, ({17,17,3,17,17,17})
то как мне вывести число которое отличается от всех на экран? Я могу это сделать если знаю конкретное место нахождения числа, которое отличается или числа, которое со всеми одинаковое, но если число будет записано рандомно, то нет..
П.C. Прошу не применять автоматические методы по поиску в массиве, т.к. моя цель научиться правильно делать алгоритмы и думать, а не запускать уже готовое. Любая идея тоже сгодится. Спасибо
Предлагаю следующий алгоритм:
int повторяется;
int[] nums = {1, 1, 2, 1, 1, 1};
if(nums.length <= 2) {
throw new IllegalArgumentException();
}
if(nums[0] == nums[1] || nums[0] == nums[2]) {
повторяется = nums[0];
} else {
повторяется = nums[1];
}
int index = -1;
for(int i = 0; i < nums.length; i++) {
if(nums[i] != повторяется) {
index = i;
break;
}
}
if(index == -1) {
System.err.println("Все элементы массива идентичны");
} else {
System.out.println("Индекс элемента - " + index);
}
Проверку на то, один ли он в массиве, можете добавить сами, введя новую переменную.
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Есть сканер Int чиселС помощью try catch обрабатываю ошибку того, что это не число типа Int, но при вводе чего-то другого, кроме целого числа выдается...
Ошибка в return getDistEclipse хочет объявление отдельного класса для getDist
Возник такой вопрос, как работать с логом в AndroidК примеру у меня есть приложение, оно обменивается данными с другим устройством