Python程式:查詢達到目標和所需的最少元素新增
假設我們有一個名為nums的數字列表以及另外兩個變數k和t。我們考慮一個操作,在這個操作中,我們選擇一個範圍在[-k, k]內的元素e,並將其插入到nums的末尾。我們必須找到所需的操作次數最小值,以便nums的總和等於目標值。
因此,如果輸入類似於nums = [3, 1] k = 4 t = 19,則輸出將為4,因為我們可以新增[3, 1, 4, 4, 4, 3]來獲得總和19。
為了解決這個問題,我們將遵循以下步驟:
total := nums中所有元素的總和
diff := |t - total|
result := floor(diff/k)
如果result * k不等於diff,則
result := result + 1
返回result
示例
讓我們看看下面的實現來更好地理解。
def solve(nums, k, t): total = sum(nums) diff = abs(t - total) result = diff // k if result * k != diff: result = result + 1 return result nums = [3, 1] k = 4 t = 19 print(solve(nums, k, t))
輸入
[3, 1], 4, 19
輸出
4
廣告
資料結構
網路
關係資料庫管理系統 (RDBMS)
作業系統
Java
iOS
HTML
CSS
Android
Python
C語言程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP