使用 Python 在陣列中執行異或運算的程式


假設我們有一個整數 n 和另一個整數 start。我們必須建立一個名為 nums 的陣列,其中 nums[i] = start + 2*i(i 從 0 開始),並且 n 是 nums 的大小。然後找到 nums 中所有元素的按位異或。

因此,如果輸入像 n = 6,start = 2,則輸出將為 14,因為陣列將類似於 [2+2*0, 2+2*1, ... 2+2*5] = [2,4,6,8,10,12],那麼陣列中存在的每個元素的異或為 14。

為了解決這個問題,我們將按照以下步驟進行操作 −

  • count := start

  • 當 n-1 > 0 時,執行

    • count := count XOR 2 + start

    • n := n - 1

    • start := start + 2

  • 返回 count

示例(Python)

讓我們看看以下實現,以獲得更好的理解 −

 即時演示

def solve(n, start):
   count = start
   while n-1 > 0:
      count ^= 2 + start
      n -= 1
      start += 2
   return count

n = 6
start = 2
print(solve(n, start))

輸入

6, 2

輸出

14

更新日期: 17-May-2021

736 次瀏覽

職業生涯起航

完成課程即可獲得認證

開始
廣告
© . All rights reserved.