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. 解码异或后的数组的主要内容,如果未能解决你的问题,请参考以下文章

LeetCode1720. 解码异或后的数组(C++)

解码异或后的数组

1720. 解码异或后的数组

力扣1720.解码异或后的数组

LeetCode1720. 解码异或后的数组(位运算)

LeetCode1720. 解码异或后的数组(位运算)