1734.解码异或后的排列
链接:1734.解码异或后的排列
难度:Medium
标签:位运算、数组
简介:给你 encoded 数组,请你返回原始数组 perm 。题目保证答案存在且唯一。
题解 1 - typescript
- 编辑时间:2021-05-11
- 执行用时:392ms
- 内存消耗:71.4MB
- 编程语言:typescript
- 解法介绍:已知 1~n 的所有值异或结果进行求首值。
function decode(encoded: number[]): number[] {
const n = encoded.length + 1;
let xorNum = 1;
for (let i = 2; i <= n; i++) xorNum ^= i;
for (let i = 1; i < n - 1; i += 2) xorNum ^= encoded[i];
return [xorNum, ...encoded.map(v => (xorNum ^= v))];
}