在 Python 中移除一個元素以得到平均 k
假設我們有一個名為 nums 的數字列表和一個整數 k,我們必須檢查是否能從該列表中確切地移除一個元素,以使平均值恰好等於 k。現在我們必須記住,有一些限制 −
- 2 ≤ n ≤ 1,000,其中 n 是 nums 列表元素的數量
- nums[i]、k ≤ 1,000,000
所以,如果輸入類似 [5,3,2,4,6,10],k = 4,那麼輸出將為 True,因為如果我們移除 10,則元素的平均值為 (5+3+2+4+6)/5 = 4,這與 k 相同。
為了解決這個問題,我們將按照以下步驟操作 −
- s:= nums 中所有元素的總和
- t := k*(nums 的大小 - 1)
- 對於 nums 中的每個 i,執行
- 如果 s-i 等於 t,則
- 返回 True
- 如果 s-i 等於 t,則
- 返回 False
讓我們看看以下實現以獲得更好的理解 −
示例
class Solution: def solve(self, nums, k): s=sum(nums) t = k*(len(nums)-1) for i in nums: if s-i == t: return True return False ob = Solution() nums = [5,3,2,4,6,10] k = 4 print(ob.solve(nums, k))
輸入
[5,3,2,4,6,10], 4
輸出
True
廣告
資料結構
網路
RDBMS
作業系統
Java
iOS
HTML
CSS
Android
Python
C 程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP