Menu
CoddyTech

Move Zeroes

FacileDue puntatoripython iconjava iconcpp iconc iconjs icon+10

Ti viene fornito un array di numeri interi nums. Sposta ogni 0 alla fine dell’array e mantieni gli altri valori nell’ordine in cui si trovavano. Restituisci l’array riordinato, che ha la stessa lunghezza di nums.

Funzione

moveZeroes(nums: integer-array) → integer-array
numsinteger-array
l'array di numeri interi da riordinare
Restituisceinteger-array
nums con i valori diversi da zero prima, nel loro ordine originale, e tutti gli 0 alla fine

Vincoli

  • 1 ≤ nums.length ≤ 5000
  • -105 ≤ nums[i] ≤ 105

Esempi

Input
nums = [0, 4, 0, 7, 2]
Output
[4, 7, 2, 0, 0]
Spiegazione
I valori che non sono 0 sono 4, 7 e 2, e mantengono quest’ordine all’inizio. I due 0 occupano gli ultimi due posti.

lock icon+14 test nascosti all’invio

challenge icon

Per approfondire

Riesci invece a spostare tutti gli 0 all’inizio, mantenendo gli altri valori nel loro ordine, con una sola passata e usando O(1) memoria aggiuntiva?

Ripristina il codice
def moveZeroes(nums):
    # Scrivi il codice qui
Casi di test

Caso 1

Caso 2

Caso 3

Input

nums = [0, 4, 0, 7, 2]

Atteso

[4, 7, 2, 0, 0]