Python Nozioni di baseFacile

Sostituisci ogni elemento per rango

Guida dettagliata e implementazione Python per il problema "Sostituisci ogni elemento in base al rango".

Dichiarazione del problema

Facile

Scrivi una funzione replace_by_rank(arr) che sostituisca ogni elemento dell'array con il suo rango quando l'array viene ordinato in ordine crescente. L'elemento più piccolo ottiene il rango 1, il secondo più piccolo il rango 2 e così via. Se due elementi sono uguali ottengono lo stesso rango. Restituisce l'array di ranghi.

Vincoli
  • 1 <= len(arr) <= 10^5
  • -10^9 <= arr[i] <= 10^9

Esempi

Example 1
Input
arr = [20, 15, 26, 2, 98, 6]
Output
[4, 3, 5, 1, 6, 2]
Explanation

Sorted: [2,6,15,20,26,98]. Ranks: 2->1, 6->2, 15->3, 20->4, 26->5, 98->6.

Example 2
Input
arr = [10, 10, 10]
Output
[1, 1, 1]
Explanation

All elements are equal, so all get rank 1.

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

Sorted: [1,3,5]. Ranks: 1->1, 3->2, 5->3.

Need a Hint?
Prendi in considerazione l'utilizzo di strutture dati specifiche degli array come set o heap.
Edge Cases to Watch
  • Strutture di input vuote
  • Ingressi a elemento singolo
  • Grandi limiti numerici

Pronto a risolvere?

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

Apri nell'editor
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

Risorse Python consigliate

Espandi le tue conoscenze con tutorial interattivi, foglietti illustrativi e confronti di codici correlati.