在 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
  • 返回 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

更新於: 2020 年 9 月 23 日

110 次瀏覽

開始你的職業生涯

完成課程,獲得認證

開始
廣告
© . All rights reserved.