378. 有序矩阵中第K小的元素

给定一个 n x n 矩阵,其中每行和每列元素均按升序排序,找到矩阵中第k小的元素。
请注意,它是排序后的第k小元素,而不是第k个元素。

示例:

matrix = [
   [ 1,  5,  9],
   [10, 11, 13],
   [12, 13, 15]
],
k = 8,

返回 13。
class Solution {
public:
    int kthSmallest(vector<vector<int>>& matrix, int k) {
        if(matrix.size() < 1)
            return 0;
        vector<int> vec;
        for(int i = 0; i < matrix.size(); i++)
            for(int j = 0; j < matrix[0].size(); j++)
                vec.push_back(matrix[i][j]);
        sort(vec.begin(), vec.end());
        if(k == 0)
            return vec[k];
        return vec[k-1];
    }
};

猜你喜欢

转载自blog.csdn.net/qq_23283325/article/details/89645644
今日推荐