Top 150 des entrevuesFacile

Rechercher une matrice 2D

Guide détaillé et implémentation de Python pour le problème « Rechercher une matrice 2D ».

Énoncé du problème

Facile

Vous recevez une matrice entière m x n matrix avec les deux propriétés suivantes :

- Chaque ligne est triée par ordre non décroissant.

- Le premier entier de chaque ligne est supérieur au dernier entier de la ligne précédente.

Étant donné un entier target, renvoie True si target est dans matrix ou False sinon.

Vous devez écrire une solution en complexité temporelle O(log(m * n)).

Écrivez une fonction searchMatrix(matrix: List[List[int]], target: int) -> bool.

Contraintes
  • m == len(matrix)
  • n == len(matrix[i])
  • 1 <= m, n <= 100
  • -10^4 <= matrix[i][j], target <= 10^4

Exemples

Example 1
Input
matrix = [[1, 3, 5, 7], [10, 11, 16, 20], [23, 30, 34, 60]], target = 3
Output
True
Explanation

3 is found in the first row at index 1.

Example 2
Input
matrix = [[1, 3, 5, 7], [10, 11, 16, 20], [23, 30, 34, 60]], target = 13
Output
False
Explanation

13 is not present in the matrix.

Need a Hint?
Pensez à utiliser des structures de données spécifiques à la recherche binaire, comme des ensembles ou des tas.
Edge Cases to Watch
  • Structures d'entrée vides
  • Entrées à élément unique
  • Grandes limites numériques

Prêt à résoudre ?

Open the problem in PyRun's browser-based Python editor. Your code runs fully offline — no server required.

Ouvrir dans l'éditeur
Found this breakdown helpful?

PyRun is built and maintained by an independent solo developer. If this helped your interview prep, consider buying a coffee!

Buy me a coffee

Ressources Python recommandées

Développez vos connaissances avec des didacticiels interactifs, des aide-mémoire et des comparaisons de codes associés.