1720. 解码异或后的数组
Posted zhixuChen333
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了1720. 解码异或后的数组相关的知识,希望对你有一定的参考价值。
题目
思路
异或运算具有如下性质:
1.异或运算满足交换律和结合律;
2.任意整数和自身做异或运算的结果都等于 0,即 x⊕x=0;
3.任意整数和 00 做异或运算的结果都等于其自身,即 x⊕0=0⊕x=x。
encoded[i]=arr[i] xor arr[i+1]
两边同时异或arr[i] ,即: encoded[i] xor arr[i]=arr[i] xor arr[i+1] xor arr[i]
最后等于 arr[i+1]= encoded[i] xor arr[i]
代码
class Solution {
public int[] decode(int[] encoded, int first) {
int[] arr=new int[encoded.length+1];
arr[0]=first;
for (int i = 1; i < arr.length; i++) {
arr[i]=arr[i-1]^encoded[i-1];
}
return arr;
}
}
以上是关于1720. 解码异或后的数组的主要内容,如果未能解决你的问题,请参考以下文章