Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Python

Kth องค์ประกอบที่ใหญ่ที่สุดในอาร์เรย์ใน Python


สมมติว่าเรามีอาร์เรย์ที่ไม่เรียงลำดับ เราต้องหาองค์ประกอบที่ใหญ่ที่สุดลำดับที่ k จากอาร์เรย์นั้น ดังนั้นหากอาร์เรย์คือ [3,2,1,5,6,4] และ k =2 ผลลัพธ์จะเป็น 5

เพื่อแก้ปัญหานี้ เราจะทำตามขั้นตอนเหล่านี้ -

  • เราจะจัดเรียงองค์ประกอบ
  • ถ้า k เป็น 1 ให้คืนค่าองค์ประกอบสุดท้าย ไม่เช่นนั้นให้คืนค่าอาร์เรย์[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