Python程式:查詢陣列A中小於陣列B中至少k個元素的元素個數


假設我們有兩個數字列表A和B,以及另一個值k,我們需要找到A中嚴格小於B中至少k個元素的元素的數量。

例如,如果輸入為A = [6, -2, 100, 11] B = [33, 6, 30, 8, 14] k = 3,則輸出將為3,因為-2、6和11嚴格小於B中的3個元素。

為了解決這個問題,我們將遵循以下步驟:

  • 如果k等於0,則
    • 返回A的大小
  • 將B按降序排序
  • ct := 0
  • 對於A中的每個i,執行以下操作:
    • 如果i < B[k - 1],則
      • ct := ct + 1
  • 返回ct

讓我們看看下面的實現,以便更好地理解:

示例

 線上演示

class Solution:
   def solve(self, A, B, k):
      if k == 0:
         return len(A)
      B.sort(reverse=True)
      ct = 0
      for i in A:
         if i < B[k - 1]:
            ct += 1
      return ct
ob = Solution()
A = [6, -2, 100, 11]
B = [33, 6, 30, 8, 14]
k = 3 print(ob.solve(A, B, k))

輸入

[6, -2, 100, 11], [33, 6, 30, 8, 14], 3

輸出

3

更新於: 2020年11月19日

2K+ 閱讀量

開啟你的職業生涯

透過完成課程獲得認證

立即開始
廣告

© . All rights reserved.