假设我们有两个数字A和B的列表,以及另一个值k,我们必须找到A中元素的数量严格小于B中至少k个元素。
因此,如果输入像A = [6,-2,100,11] B = [33,6,30,8,14] k = 3,那么输出将是3,因为-2,6,和B中的11元素严格少于3个。
为了解决这个问题,我们将遵循以下步骤-
如果k等于0,则
返回值A
反向排序B
ct:= 0
对于A中的每个i,
ct:= ct + 1
如果我<B [k-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