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

Python의 배열에서 K번째로 큰 요소

<시간/>

정렬되지 않은 배열이 있다고 가정하고 해당 배열에서 k번째로 큰 요소를 찾아야 합니다. 따라서 배열이 [3,2,1,5,6,4]이고 k =2이면 결과는 5가 됩니다.

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

  • 요소를 정렬합니다.
  • k가 1이면 마지막 요소를 반환하고, 그렇지 않으면 array[n – k]를 반환합니다. 여기서 n은 배열의 크기입니다.

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

class Solution(object):
   def findKthLargest(self, nums, k):
      nums.sort()
      if k ==1:
         return nums[-1]
      temp = 1
      return nums[len(nums)-k]
ob1 = Solution()
print(ob1.findKthLargest([56,14,7,98,32,12,11,50,45,78,7,5,69], 5))

입력

[56,14,7,98,32,12,11,50,45,78,7,5,69]
5

출력

50