Ну, чтобы получить гарантированное уникальное значение, вам потребуется , чтобы эффективно сохранить все содержимое массива. Вы можете использовать хеш, который скажет вам, если один массив возможно совпадает с другим, но вы не можете получить уникальность без преобразования без потерь.
В качестве примера простой функции хеширования:
int hash = 17;
for (int i = 0; i < 3; i++) {
for (int j = 0; j < 3; j++) {
hash = hash * 31 + array[i, j];
}
}
return hash;
Теперь, два разных массива будут очень вероятно иметь разные хэши - но они могут не иметь.
Сколько места вы готовы потратить на идентификатор и насколько велико каждое значение в массиве? Чем больше информации вы захотите вставить в идентификатор, тем меньше вероятность получения ложных срабатываний ... пока вы не дойдете до стадии, когда идентификатор будет таким же большим, как массив, и в этот момент вы сможете убедиться, что вы " будет, конечно, нет ложных срабатываний.