作者Rushia (早瀬ユウカの体操服 )
看板Marginalman
標題Re: [閒聊] 每日leetcode
時間Mon Apr 29 09:35:55 2024
https://leetcode.com/problems/minimum-number-of-operations-to-make-array-xor-equal-to-k/description
2997. Minimum Number of Operations to Make Array XOR Equal to K
給你一個陣列nums和一個數字k,我們希望將每個數字xor起來之後等於k,你可以使用一
個操作翻轉任意數字的任一位元,求出最少要翻幾次。
思路:
1.假設 num1 ^ num2 ^ ... numn = x,我們希望 x == k 等價於 x ^ k == 0,所以我們
把 nums 的所有元素和 k 做 xor 然後看看翻轉幾個 1 可以令他為 0 即可。
pycode
------------------------------------------
class Solution:
def minOperations(self, nums: List[int], k: int) -> int:
for num in nums:
k ^= num
return bin(k).count('1')
------------------------------------------
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 101.138.217.240 (臺灣)
※ 文章網址: https://www.ptt.cc/bbs/Marginalman/M.1714354557.A.F45.html
→ sustainer123: 昨天才寫or版 我寫得超複雜 你寫得比較好 04/29 09:36
推 JIWP: 這題超簡單 04/29 10:03