Одиночный номер II от LeetCodeJAVA

Программисты JAVA общаются здесь
Anonymous
Одиночный номер II от LeetCode

Сообщение Anonymous »

Вопрос об одиночном номере II из LeetCode: < /p>

, учитывая массив целых чисел, каждый элемент появляется три раза, кроме одного. Найдите этот единственный.
Примечание:
Ваш алгоритм должен иметь линейную сложность времени выполнения. Не могли бы вы реализовать его без использования дополнительной памяти?public int singleNumber(int[] A) {
int one = 0, two = 0;
for (int i = 0; i < A.length; i++) {
int one_ = (one ^ A) & ~two;
int two_ = A & one | ~A & two;
one = one_;
two = two_;
}
return one;
}
< /code>

Однако я не знаю, почему этот код может работать, и на самом деле я не знаю, как думать об этой проблеме, когда впервые увидел ее? Любая помощь. спасибо!

Подробнее здесь: https://stackoverflow.com/questions/212 ... m-leetcode

Вернуться в «JAVA»