Giả sử chúng ta có một mảng chưa sắp xếp, chúng ta phải tìm phần tử lớn thứ K từ mảng đó. Ví dụ, nếu mảng là [3,2,1,5,6,4] và k = 2, kết quả sẽ là 5.
Để giải quyết, chúng ta làm theo các bước sau:
Sắp xếp mảng.
Nếu k là 1, trả về phần tử cuối, ngược lại trả về phần tử tại chỉ số n - k, với n là kích thước mảng.
Ví dụ
class Solution(object):
def findKthLargest(self, nums, k):
nums.sort()
if k == 1:
return nums[-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))
Đầu vào
[56,14,7,98,32,12,11,50,45,78,7,5,69] 5
Đầu ra
50