<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          leetcode - 解碼異或后的數(shù)組

          共 515字,需瀏覽 2分鐘

           ·

          2021-01-19 07:33

          題意

          未知 整數(shù)數(shù)組 arrn 個(gè)非負(fù)整數(shù)組成。

          經(jīng)編碼后變?yōu)殚L度為 n - 1 的另一個(gè)整數(shù)數(shù)組 encoded,其中 encoded[i] = arr[i] XOR arr[i + 1]。例如,arr = [1,0,2,1] 經(jīng)編碼后得到 encoded = [1,2,3]

          給你編碼后的數(shù)組 encoded 和原數(shù)組 arr 的第一個(gè)元素 first(arr[0])。

          請解碼返回原數(shù)組 arr ??梢宰C明答案存在并且是唯一的。

          示例

          示例 1:

          輸入:encoded =?[1,2,3], first = 1
          輸出:[1,0,2,1]
          解釋:若 arr =?[1,0,2,1]?,那么 first = 1 且 encoded =?[1 XOR 0, 0 XOR 2, 2 XOR 1]?=?[1,2,3]

          示例 2:

          輸入:encoded =?[6,2,7,3], first = 4
          輸出:[4,2,0,7,4]

          提示

          • 2 <= n <= 104

          • encoded.length == n - 1

          • 0 <= encoded[i] <= 105

          • 0 <= first <= 105

          出處

          鏈接:https://leetcode-cn.com/problems/decode-xored-array

          思路

          這題考的是異或的交換律,會這題就是送分。簡單的說 a ^ b = c, 那么a ^ c = b也是成立的。所以這題我們知道 first,倒推回去也很簡單。

          代碼

          /**
          ?*?@param?{number[]}?encoded
          ?*?@param?{number}?first
          ?*?@return?{number[]}
          ?*/

          const?decode?=?function?(encoded,?first)?{
          ??const?arr?=?[first];
          ??for?(let?i?=?0;?i?????const?res?=?encoded[i]?^?arr[i];
          ????arr.push(res);
          ??}
          ??return?arr;
          };

          export?default?decode;

          測試

          import?decode?from?'../../code/leetcode/1720';

          describe('test?function?decode:?',?()?=>?{
          ??test('test?case?encoded?=?[1,2,3],?first?=?1',?()?=>?{
          ????const?res?=?decode([1,?2,?3],?1);
          ????expect(res).toEqual([1,?0,?2,?1]);
          ??});

          ??test('test?case?encoded?=?[6,2,7,3],?first?=?4',?()?=>?{
          ????const?res?=?decode([6,?2,?7,?3],?4);
          ????expect(res).toEqual([4,?2,?0,?7,?4]);
          ??});
          });

          說明

          本文首發(fā)于 GitHub 倉庫https://github.com/ataola/coding,線上閱讀地址:https://zhengjiangtao.cn/coding/,轉(zhuǎn)載請注明出處,謝謝!


          瀏覽 41
          點(diǎn)贊
          評論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          評論
          圖片
          表情
          推薦
          點(diǎn)贊
          評論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  精品99在线观看 | 无码AV蜜桃 | 男人操女人免费网站 | 久久夜色视频网 | 免费尻屄视频 |