检查给定数组是否可以通过给定次数的操作在 Python 中减少到零
假设我们有一个数组 nums 和一个值 k,我们必须检查 nums 中的元素是否可以通过执行以下操作恰好 k 次来变为 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
广告
数据结构
网络
关系数据库管理系统
操作系统
Java
iOS
HTML
CSS
Android
Python
C 语言编程
C++
C#
MongoDB
MySQL
Javascript
PHP