检查给定数组是否可以在Python中执行给定次数的给定操作减少为零

假设我们有一个数组nums和一个值k,我们必须检查正好k次执行以下操作,以检查nums中的元素是否可以设为0。

  • 运算:将从nums中所有最小的元素中减去所有nums的非零值。

因此,如果输入类似于nums [2,2,3,5] k = 3,则输出将为True,因为首先从数组中删除2,因此数组将为[0,0,1,3],然后删除1以获得[0,0,0,2],然后再次删除2得到[0,0,0,0]。

为了解决这个问题,我们将遵循以下步骤-

  • 如果有k个不同的元素,则

  • 返回True

  • 返回False

让我们看下面的实现以更好地理解-

范例程式码

def solve(nums, k):
   distinct = set(nums) 
   if len(distinct) == k:
      return True
   return False
   
nums = [2, 2, 3, 4]
k = 3
print(solve(nums, k))

输入值

[2, 2, 3, 4], 3
输出结果
True

猜你喜欢