檢查給定陣列是否可以透過給定次數的操作在 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