Всех приветствую, у меня такой вопрос, если у меня массив с почти всеми одинаковыми числами, например, 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);
}
Проверку на то, один ли он в массиве, можете добавить сами, введя новую переменную.
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
Есть сканер Int чиселС помощью try catch обрабатываю ошибку того, что это не число типа Int, но при вводе чего-то другого, кроме целого числа выдается...
Ошибка в return getDistEclipse хочет объявление отдельного класса для getDist
Возник такой вопрос, как работать с логом в AndroidК примеру у меня есть приложение, оно обменивается данными с другим устройством