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
- nếu s-i giống với t, thì
- 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