Я только что вернулся из технического интервью/теста C#, но был несколько озадачен одной из головоломок. Может ли кто-нибудь помочь в решении, поскольку я не могу это решить, и это действительно меня беспокоит. Проблема заключалась в том:C# Инверсная функция Xor
Написать обратную функцию Xor для следующего метода:
public int[] XorFunction(int[] array)
{
for (int i = array.Length - 1; i > 0; i--)
{
int first = array[i];
int second = array[i - 1];
array[i] ^= second;
}
return array;
}
Я больше парня базы данных, поэтому не совсем уверен XORing функции. Я пришел к наивному итерации [1..array.length] и установил массив [i]^= array [i + 1], но я уверен, что это было неправильно, поскольку я бы изменил значение для array [i], а затем использовать его для xor со следующим числом.
Его пристанет мне becuase кажется довольно прямо вперед проблемы ...
INVERS XOR точно таки XOR. a = b^(a^b) – jdweng