Top 150 des entrevuesFacile

Rechercher le minimum dans un tableau trié avec rotation

Guide détaillé et implémentation de Python pour le problème « Trouver le minimum dans un tableau trié avec rotation ».

Énoncé du problème

Facile

Supposons qu'un tableau de longueur n trié par ordre croissant subit une rotation entre 1 et n fois. Par exemple, le tableau [0,1,2,4,5,6,7] pourrait devenir [4,5,6,7,0,1,2] s'il était pivoté 4 fois.

Notez que la rotation d'un tableau [a[0], a[1], ..., a[n-1]] 1 fois donne [a[n-1], a[0], a[1], ..., a[n-2]].

Étant donné le tableau pivoté trié nums d'éléments uniques, renvoie l'élément minimum de ce tableau.

Vous devez écrire un algorithme qui s'exécute en un temps O(log n).

Écrivez une fonction findMin(nums: List[int]) -> int.

Contraintes
  • n == len(nums)
  • 1 <= n <= 5000
  • -5000 <= nums[i] <= 5000
  • All integers in nums are unique
  • nums is sorted and rotated between 1 and n times

Exemples

Example 1
Input
nums = [3, 4, 5, 1, 2]
Output
1
Explanation

The original array was [1,2,3,4,5] rotated 3 times. The minimum is 1.

Example 2
Input
nums = [4, 5, 6, 7, 0, 1, 2]
Output
0
Explanation

The original array was [0,1,2,4,5,6,7] rotated 4 times. The minimum is 0.

Example 3
Input
nums = [11, 13, 15, 17]
Output
11
Explanation

Array is not rotated (or rotated n times). The minimum is the first element.

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.