Computer >> 컴퓨터 >  >> 프로그램 작성 >> Python

Python에서 평균 k를 만들기 위해 하나를 제거하십시오.

<시간/>

nums와 정수 k라는 숫자 목록이 있다고 가정하고 평균을 정확히 k와 같게 만들기 위해 목록에서 정확히 하나의 요소를 제거할 수 있는지 확인해야 합니다. 이제 몇 가지 제약 조건이 있음을 명심해야 합니다.

  • 2 ≤ n ≤ 1,000 여기서 n은 nums 목록의 요소 수입니다.
  • 숫자[i], k ≤ 1,000,000

따라서 입력이 [5,3,2,4,6,10], k =4와 같으면 10을 제거하는 것처럼 출력은 True가 되고 요소의 평균은 (5+3+2+ 4+6)/5 =4, k와 동일합니다.

이 문제를 해결하기 위해 다음 단계를 따릅니다. −

  • s:=num에 있는 모든 요소의 총합
  • t :=k*(숫자의 크기 - 1)
  • 숫자 단위의 각 i에 대해 다음을 수행합니다.
    • s-i가 t와 같으면
      • 참 반환
  • 거짓을 반환

이해를 돕기 위해 다음 구현을 살펴보겠습니다. −

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