378. Kth Smallest Element in a Sorted Matrix
자만하다가 큰 코 다쳤읍니다^^
class Solution {
public int kthSmallest(int[][] matrix, int k) {
int h = matrix.length;
int w = matrix[0].length;
if (k > h * w) {
return -1;
}
if (w == 1) {
return matrix[k - 1][0];
}
int row = (k - 1) / w;
int col = (k - 1) % w;
return matrix[row][col];
}
}
처음에 난독이 왔읍니다.
엥? 이거 뭐야. 너무 쉬운 것 아닌가 ㅎㅎ 3초컷.
class Solution {
public int kthSmallest(int[][] matrix, int k) {
int h = matrix.length;
int w = matrix[0].length;
PriorityQueue<Integer> heap = new PriorityQueue<>(Collections.reverseOrder());
for (int i = 0; i < h; i++) {
for (int j = 0; j < w; j++) {
heap.offer(matrix[i][j]);
if (heap.size() > k) {
heap.poll();
}
}
}
return heap.poll();
}
}
Runtime: 18 ms, faster than 28.43% of Java online submissions for Kth Smallest Element in a Sorted Matrix.
Memory Usage: 44 MB, less than 78.33% of Java online submissions for Kth Smallest Element in a Sorted Matrix.
Heap 이친구는 도무지 정이 안가네요;
내일까지 어떻게든 정 붙여 오겠읍니다
Author And Source
이 문제에 관하여(378. Kth Smallest Element in a Sorted Matrix), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@jwade/378.-Kth-Smallest-Element-in-a-Sorted-Matrix저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)