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

Python에서 요소를 최대 3번 업데이트한 후 최대값과 최소값의 최소 차이를 찾는 프로그램

<시간/>

nums라는 숫자 목록이 있다고 가정하고 이제 요소를 임의의 값으로 업데이트할 수 있는 작업을 고려하십시오. 이러한 작업을 최대 3개까지 수행할 수 있으며 결과적으로 최대값과 최소값 사이의 최소 차이를 숫자로 찾아야 합니다.

따라서 입력이 nums =[2, 3, 4, 5, 6, 7]과 같으면 목록을 [4, 3, 4, 5, 4, 4]로 변경할 수 있으므로 출력은 2가 됩니다. 5 - 3 =2입니다.

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

  • 숫자의 크기가 <=4이면
    • 0을 반환
  • n :=숫자 크기
  • 목록 번호 정렬
  • 0~3 범위의 모든 i에 대해 nums[n-4 + i] - nums[i] 간의 차이의 최소값을 반환합니다.

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

예시

class Solution:
   def solve(self, nums):
      if len(nums) <= 4:
         return 0
      nums.sort()
      return min(nums[-4 + i] - nums[i] for i in range(4))
ob = Solution()
nums = [2, 3, 4, 5, 6, 7] print(ob.solve(nums))

입력

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

출력

2