У меня есть идеальный квадратный массив целых чисел размером 64x64, который никогда не будет иметь значения больше 64. Мне было интересно, есть ли действительно быстрый способ сравнить все элементы с друг друга и отображать те, которые являются одинаковыми, уникальным способом.Сравните все элементы внутри 2D-массива друг с другом
В настоящий момент у меня есть этот
2D int array named array
loop from i = 0 to 64
loop from j = 0 to 64
loop from k = (j+1) to 64
loop from z = 0 to 64
if(array[i][j] == array[k][z])
print "element [i][j] is same as [k][z]
Как вы видите с 4 вложенных циклов довольно глупая вещь, которую я хотел бы, чтобы не использовать. Язык вообще не имеет значения, мне просто интересно узнать, какие классные решения можно использовать. Поскольку значение внутри любого целого не будет больше 64, я думаю, вы можете использовать только 6 бит и преобразовать массив во что-то более интересное. И поэтому потребовалось бы меньше памяти и позволяло бы некоторые действительно причудливые побитовые операции. Увы, я недостаточно осведомлен, чтобы думать в этом формате, и поэтому хотел бы посмотреть, что вы, ребята, можете придумать.
Спасибо всем, кто за уникальное решение.
аннотацию с координатами, то разбирайтесь на значение, затем посмотрите на соседние записи с тем же значением. Также: преобразование Берроуза-Уилера. – wildplasser