c_cpp 378.cpp

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了c_cpp 378.cpp相关的知识,希望对你有一定的参考价值。

struct Node {
    int val, i, j;
    Node(int i, int j, int val): i(i), j(j), val(val) {}
    bool operator < (const Node& x) const {
        return val > x.val;
    }
};

class Solution {
public:
    int kthSmallest(vector<vector<int>>& matrix, int k) {
        priority_queue<Node> q;
        int n = matrix.size();
        q.push(Node(0, 0, matrix[0][0]));
        cout << q.size() << endl;
        while(--k > 0) {
            Node x = q.top();
            q.pop();
            if (x.i == 0 && x.j + 1 < n) q.push(Node(x.i, x.j + 1, matrix[x.i][x.j + 1]));
            if (x.i + 1 < n) q.push(Node(x.i + 1, x.j, matrix[x.i+1][x.j]));
            cout << "in" << q.size() << endl;
        }
        return q.top().val;
    }
};

以上是关于c_cpp 378.cpp的主要内容,如果未能解决你的问题,请参考以下文章

c_cpp 200.岛屿数量

c_cpp 127.单词阶梯

c_cpp MOFSET

c_cpp MOFSET

c_cpp 31.下一个排列

c_cpp string→char *