Oferta Sword Finger ------------ Búsqueda en una matriz bidimensional

Inserte la descripción de la imagen aquí

Enlace de tema!

Idea: Para
esta pregunta, podemos comenzar desde la condición de la matriz de restricción en la pregunta. Cada fila se ordena en orden creciente de izquierda a derecha, y cada columna se ordena en orden creciente de arriba a abajo, para que podamos comenzar desde la esquina superior izquierda Iniciar recorrido, si el elemento actual es mayor que el objetivo, elimine esta columna; si es menor que, elimine esta fila.

Código:


class Solution {
    
    
public:
    bool findNumberIn2DArray(vector<vector<int>>& matrix, int target) {
    
    
        if(matrix.size()==0) return false;
        int i = 0, j = matrix[0].size()-1;
        while(i <= matrix.size()-1 && j >=0 )
        {
    
    
            if(matrix[i][j] > target) --j;
            else if(matrix[i][j] < target) ++i;
            else return true;
        }
        return false;
    }
};

Supongo que te gusta

Origin blog.csdn.net/weixin_43743711/article/details/115051121
Recomendado
Clasificación