周賽369。這題目有點難懂,寫起來倒是沒難度。

題目

輸入整數陣列nums,還有整數k。

nums的K-or數,是一個滿足以下條件的非負整數:

  • 若nums中有至少k個數的第i個位元是1,則K-or數的該位元也是1

求nums的K-or數

解法

按照題意模擬。

時間複雜度O(N log MX),其中MX為max(nums)。
空間複雜度O(log MX)。

class Solution:
    def findKOr(self, nums: List[int], k: int) -> int:
        ans=0
        for i in range(32):
            cnt=0
            for x in nums:
                if (1<<i)&x:
                    cnt+=1
            if cnt>=k:
                ans|=(1<<i)
                
        return ans