Menu
CoddyTech

Kth Largest Element in an Array

בינוניערימהמיוןpython iconjava iconcpp iconc iconjs icon+10

נתון לך מערך של מספרים שלמים nums ומספר שלם k. החזר את הערך ה־k בגודלו ב־nums: הערך במיקום k, בספירה מ־1, לאחר שממיינים את המערך מהגדול לקטן.

ערכים שווים נספרים בנפרד. ב־[5, 5, 1] הערך הגדול ביותר הוא 5, וגם הערך השני בגודלו הוא 5.

פונקציה

findKthLargest(nums: integer-array, k: integer) → integer
numsinteger-array
הערכים לדירוג
kinteger
איזה ערך גדול ביותר להחזיר, 1 עבור הערך הגדול ביותר
מחזירהinteger
הערך ה־k בגודלו, כולל כפילויות

אילוצים

  • 1 ≤ k ≤ nums.length ≤ 104
  • -104 ≤ nums[i] ≤ 104
  • ערכים שווים נספרים כערכים נפרדים.

דוגמאות

קלט
nums = [7, 2, 9, 4, 9, 1]k = 2
פלט
9
הסבר
מהגדול לקטן, הערכים הם 9, 9, 7, 4, 2, 1. שתי הספרות 9 נספרות בנפרד, לכן הערך השני בגודלו הוא 9, ולא 7.

lock icon+15 בדיקות נסתרות בשליחה

challenge icon

שאלת המשך

הערכים מגיעים כעת אחד בכל פעם. האם תוכל לדווח על החציון של כל הערכים שהתקבלו עד כה אחרי כל הגעה, בזמן O(log n) לכל ערך?

איפוס הקוד
def findKthLargest(nums, k):
    # כתבו כאן את הקוד
מקרי בדיקה

מקרה 1

מקרה 2

מקרה 3

קלט

nums = [7, 2, 9, 4, 9, 1]
k = 2

צפוי

9