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+ 阅读量

开启你的职业生涯

通过完成课程获得认证

立即开始
广告