Top 150 des entrevuesFacile

Recherche binaire

Guide détaillé et implémentation de Python pour le problème 'Recherche binaire'.

Énoncé du problème

Facile

Étant donné un tableau d'entiers nums qui est trié par ordre croissant et un entier target, écrivez une fonction pour rechercher target dans nums. Si target existe, renvoie son index. Sinon, renvoyez -1.

Vous devez écrire un algorithme avec une complexité d'exécution O(log n).

Écrivez une fonction search(nums: List[int], target: int) -> int.

Contraintes
  • 1 <= len(nums) <= 10^4
  • -10^4 < nums[i], target < 10^4
  • All integers in nums are unique
  • nums is sorted in ascending order

Exemples

Example 1
Input
nums = [-1, 0, 3, 5, 9, 12], target = 9
Output
4
Explanation

9 exists in nums and its index is 4.

Example 2
Input
nums = [-1, 0, 3, 5, 9, 12], target = 2
Output
-1
Explanation

2 does not exist in nums so return -1.

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.