假设我们有一个数组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