Computer >> Máy Tính >  >> Lập trình >> Python

Loại bỏ một để tạo ra mức trung bình k trong Python

Giả sử chúng ta có một danh sách các số gọi là num và một số nguyên k, chúng ta phải kiểm tra xem wecan có loại bỏ chính xác một phần tử khỏi danh sách để làm cho giá trị trung bình bằng chính xác k. Bây giờ chúng ta cần lưu ý rằng, có một số ràng buộc -

  • 2 ≤ n ≤ 1,000 trong đó n là số phần tử của danh sách nums
  • nums [i], k ≤ 1.000.000

Vì vậy, nếu đầu vào là [5,3,2,4,6,10], k =4, thì đầu ra sẽ là Đúng như khi chúng ta loại bỏ 10, giá trị trung bình của các phần tử sẽ là (5 + 3 + 2 + 4 + 6) / 5 =4, điều này giống với k.

Để giải quyết vấn đề này, chúng tôi sẽ làm theo các bước sau -

  • s:=tổng của tất cả các phần tử tính bằng nums
  • t:=k * (kích thước của nums - 1)
  • đối với mỗi tôi trong nums, hãy thực hiện
    • nếu s-i giống với t, thì
      • trả về True
  • trả về Sai

Hãy cùng chúng tôi xem cách triển khai sau để hiểu rõ hơn -

Ví dụ

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))

Đầu vào

[5,3,2,4,6,10], 4

Đầu ra

True