Python程式:在最多更新三個元素後查詢最大值和最小值之間的最小差值
假設我們有一個名為nums的數字列表,現在考慮一個操作,我們可以將一個元素更新為任何值。我們最多可以執行3次這樣的操作,我們必須找到nums中最大值和最小值之間的最小差值。
因此,如果輸入類似於nums = [2, 3, 4, 5, 6, 7],則輸出將為2,因為我們可以將列表更改為[4, 3, 4, 5, 4, 4],然後5 - 3 = 2。
為了解決這個問題,我們將遵循以下步驟:
- 如果nums的大小<= 4,則
- 返回0
- n := nums的大小
- 對列表nums進行排序
- 返回nums[n-4 + i] - nums[i](對於所有i在0到3的範圍內)之間的最小差值
讓我們看看下面的實現,以便更好地理解:
示例
class Solution: def solve(self, nums): if len(nums) <= 4: return 0 nums.sort() return min(nums[-4 + i] - nums[i] for i in range(4)) ob = Solution() nums = [2, 3, 4, 5, 6, 7] print(ob.solve(nums))
輸入
[2, 3, 4, 5, 6, 7]
輸出
2
廣告
資料結構
網路
關係資料庫管理系統 (RDBMS)
作業系統
Java
iOS
HTML
CSS
Android
Python
C語言程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP