[코테 풀이] Decode XORed Array

시내·2024년 6월 12일

Q_1720) Decode XORed Array

출처 : https://leetcode.com/problems/decode-xored-array/

There is a hidden integer array arr that consists of n non-negative integers.

It was encoded into another integer array encoded of length n - 1, such that encoded[i] = arr[i] XOR arr[i + 1]. For example, if arr = [1,0,2,1], then encoded = [1,2,3].

You are given the encoded array. You are also given an integer first, that is the first element of arr, i.e. arr[0].

Return the original array arr. It can be proved that the answer exists and is unique.

class Solution {
    public int[] decode(int[] encoded, int first) {
        int[] res = new int[encoded.length + 1];
        res[0] = first;
        int index = 1;
        for (int i : encoded) {
            res[index] = res[index - 1] ^ i; 
            //XOR연산은 거꾸로 해도 똑같음
            index++;
        }
        return res; 
    }
}
profile
contact 📨 ksw08215@gmail.com

0개의 댓글