题解 | #矩阵第K小#
矩阵第K小
http://www.nowcoder.com/practice/c754e7a920614cba9b8b692ba9b20b5d
解题思路:
将矩阵中的全部数字都取出来再排序,然后输出第k大的数
具体代码如下:
class Solution {
public:
int KthinMatrix(vector<vector<int> >& matrix, int k) {
int n = matrix.size(); //获取方形矩阵行的大小
vector<int> nums(n*n); //定义一个一维数组用于保存矩阵中的所有数据
int index = 0;
for(int i = 0; i < n; i++){
for(int j = 0; j < n; j++){
nums[index++] = matrix[i][j];
}
}
sort(nums.begin(), nums.end()); //对一维数组进行排序
return nums[k - 1];
}
};