forked from fishercoder1534/Leetcode
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathKthSmallestElementInASortedMatrix.java
41 lines (35 loc) · 1.13 KB
/
KthSmallestElementInASortedMatrix.java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
package com.fishercoder.solutions;
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
/**378. Kth Smallest Element in a Sorted Matrix QuestionEditorial Solution My Submissions
Total Accepted: 5
Total Submissions: 7
Difficulty: Medium
Given a n x n matrix where each of the rows and columns are sorted in ascending order, find the kth smallest element in the matrix.
Note that it is the kth smallest element in the sorted order, not the kth distinct element.
Example:
matrix = [
[ 1, 5, 9],
[10, 11, 13],
[12, 13, 15]
],
k = 8,
return 13.
Note:
You may assume k is always valid, 1 ≤ k ≤ n2.*/
public class KthSmallestElementInASortedMatrix {
//brute force made it AC'ed, extreme test case needed for OJ
public int kthSmallest(int[][] matrix, int k) {
List<Integer> list = new ArrayList<Integer>();
int n = matrix.length;
for(int i = 0; i < n; i++){
for(int j = 0; j < n; j++){
list.add(matrix[i][j]);
}
}
Collections.sort(list);
return list.get(k-1);
}
//TODO: use heap and binary search to do it.
}