行列递增矩阵

发布时间 2024-01-01 19:48:32作者: 秋吾

240. 搜索二维矩阵 II

TAG:二分

链接https://leetcode.cn/problems/search-a-2d-matrix-ii/

class Solution {
public:
    bool searchMatrix(vector<vector<int>>& matrix, int target) {
        int m = matrix.size();
        int n = matrix[0].size();
        int i = m - 1, j = 0;

        while (i >= 0 && j < n) {
            if (target > matrix[i][j])
                j++;
            else if (target < matrix[i][j])
                i--;
            else
                return true;
        }
        
        return false;
    }
};

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

链接https://leetcode.cn/problems/kth-smallest-element-in-a-sorted-matrix/

TAG:优先队列

class Solution {
public:
    int kthSmallest(vector<vector<int>>& matrix, int k) {
        priority_queue<int, vector<int>, less<int>> pq;
        for (int i = 0; i < matrix.size(); i++) {
            for (int j = 0; j < matrix[0].size(); j++) {
                pq.push(matrix[i][j]);
                if (pq.size() > k)
                    pq.pop();
            }
        }
        return pq.top();
    }
};