跳到主要内容

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))];
}