JavaにはXOR関数があります-a^b
例えば:5^3 = 6
逆関数を教えてもらえますか?私が持っていて6
、3
番号を含む番号の範囲を取得できます5
か?
逆はXORです!
あなたが持っている場合:
c = a^b;
あなたが利用可能な他の価値を持っているならば、あなたは得るa
か、または戻ることができます:b
a = c^b; // or b^c (order is not important)
b = c^a; // or a^c
たとえばa = 5
、b = 3
(したがってc = 6
、あなたが述べたように)の場合、次のようになります。
b=0011 (3) a=0101 (5)
c=0110 (6) XOR or c=0110 (6) XOR
---------- ----------
a=0101 (5) b=0011 (3)
XORの逆はXOR自体です。
私はleetcodeで同様の問題に遭遇しました。Leetcode-1720
XORの逆はXOR自体です。たとえば、この操作を行う場合:
3 ^ 4 = 7
次のステートメントは正しいです:
4 ^ 7 = 3
3 ^ 7 = 4
うまくいけば、これが役立ちます。