🙌
排他的論理和(XOR)
問
n 個の非負整数で構成される隠し整数配列 arr があります。
これは長さ n - 1 の別の整数配列にエンコードされ、encoded[i] = arr[i] XOR arr[i + 1] となります。たとえば、arr = [1,0,2,1] の場合、encoded = [1,2,3] となります。
エンコードされた配列が与えられます。また、arr の最初の要素である整数、つまり arr[0] が最初に与えられます。
元の配列 arr を返します。答えが存在し、一意であることが証明できます。
Math.abs()
を使用しても、テストが通らない。
絶対値function decode(encoded: number[], first: number): number[] {
let arr=[first];
for(let i =0; i<encoded.length; i++ ){
arr[i+1] = Math.abs(encoded[i] - arr[i]); ☚ここ
}
return arr;
};
テスト
Wrong Answer
Input
encoded =[6]
first =1
Use Testcase
Output[1,5] 誤
Expected[1,7] 正
解決:排他的論理和(XOR)
function decode(encoded: number[], first: number): number[] {
let arr=[first];
for(let i =0; i<encoded.length; i++ ){
arr[i+1] = encoded[i] ^ arr[i];
}
return arr;
};
Discussion