코테

leetcode 215. Kth Largest Element in an Array

박수연_01 2024. 1. 5. 01:06

https://leetcode.com/problems/kth-largest-element-in-an-array/?envType=study-plan-v2&envId=top-interview-150

 

Kth Largest Element in an Array - LeetCode

Can you solve this real interview question? Kth Largest Element in an Array - Given an integer array nums and an integer k, return the kth largest element in the array. Note that it is the kth largest element in the sorted order, not the kth distinct eleme

leetcode.com

 

class Solution {
    public int findKthLargest(int[] nums, int k) {
        PriorityQueue<Integer> priorityQueue=new PriorityQueue<>(Collections.reverseOrder());
       
        for (int i=0; i<nums.length; i++){
        priorityQueue.add(nums[i]);

        }
          for (int i=0; i<k-1; i++){
        priorityQueue.remove();

        }
        return priorityQueue.poll();




    }
}
sort를 쓰지 않고 큰수에서 k번째 구하기,
poll과 add사용해서 풀었다.

 

Collections.reverseOrder()를 사용해서 큰 순서대로 정렬이 되도록 만들었다. 
add를 사용하면 알아서 정렬이 되고 remove를 사용하면 앞에서 부터 제거가 된다. 
poll은 리턴과 remove를 함께 해준다.
 
 

heap

힙은 '최솟값 또는 최댓값을 빠르게 찾아내기 위해 완전이진트리 형태로 만들어진 자료구조'이다.

다음에 더 자세히 알아보자

'코테' 카테고리의 다른 글

48. Rotate Image  (1) 2024.02.06
[leetcode bfs] 199. Binary Tree Right Side View  (0) 2024.01.04