378. Kth más pequeño elemento en una matriz Ordenado **

378. Kth más pequeño elemento en una matriz Ordenado **

https://leetcode.com/problems/kth-smallest-element-in-a-sorted-matrix/

título Descripción

Dada una n x nmatriz en la que cada una de las filas y columnas se ordenan en orden ascendente, encontrar el elemento más pequeño de orden k en la matriz.

Tenga en cuenta que es el elemento más pequeño de orden k en el orden de clasificación, no es el elemento distintivo de orden k.

Ejemplo:

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

return 13.

Nota:
Usted puede asumir k es siempre válida, 1 k norte 2 1 ≤ k ≤ n ^ 2 .

Implementación en C ++ 1

montón máxima.

class Solution {
public:
    int kthSmallest(vector<vector<int>>& matrix, int k) {
        priority_queue<int> q;
        int n = matrix.size();
        for (int i = 0; i < n; ++ i) {
            for (int j = 0; j < n; ++ j) {
                q.push(matrix[i][j]);
                if (q.size() > k) q.pop();
            }
        }
        return q.top();
    }
};
Publicados 455 artículos originales · ganado elogios 8 · Vistas a 20000 +

Supongo que te gusta

Origin blog.csdn.net/Eric_1993/article/details/104860233
Recomendado
Clasificación