[Matematica pura, fisica, chimica, ecc.: problemi di allenamento del cervello non legati in alcun modo al commercio - pagina 584

Ti stai perdendo delle opportunità di trading:
- App di trading gratuite
- Oltre 8.000 segnali per il copy trading
- Notizie economiche per esplorare i mercati finanziari
Registrazione
Accedi
Accetti la politica del sito e le condizioni d’uso
Se non hai un account, registrati
In un solo passaggio:
Creare una copia vuota di una matrice della stessa dimensione, inizializzarla con due.
Partire dall'inizio della matrice. Incontro 1 - scrivere alla copia dall'inizio, incontro 3 - scrivere alla copia dalla fine.
In più devi monitorare i tre puntatori allo stesso tempo!
Ti darò un piccolo compito.
Certo, è un hack, ma ai colloqui di lavoro funziona come un'apoteosi della conoscenza dell'ordinamento degli array ))
Quindi, il compito di ordinare
C'è una matrice di N celle, in cui gli uno, i due e i tre sono messi in ordine casuale.
Costruire il miglior algoritmo di ordinamento.
Contare in un passaggio, riempire l'array nel secondo passaggio.
In un solo passaggio:
Creare una copia vuota di una matrice della stessa dimensione, inizializzarla con due.
Partire dall'inizio della matrice. Se si incontra 1, si scrive sulla copia dall'inizio; se si incontra 3, si scrive sulla copia dalla fine.
Senza copia (o direte che riempire la copia è un passaggio separato).
n=0, m=0
Inizia all'inizio dell'array. Se incontriamo 1 - lo cambiamo con n-esimo elemento dall'inizio, non uguale a 1 (per costruzione sarà sempre 2), n++; se incontriamo 3 - lo cambiamo con m-esimo elemento dalla fine, non uguale a 3, m++, e se incontriamo 1, seguiamo i passi della prima parte.
Senza copia (o direte che riempire la copia è un passaggio separato)
n=0, m=0
Partiamo dall'inizio della matrice. Se incontriamo 1, lo cambiamo con n-esimo elemento dall'inizio non uguale a 1 (per costruzione sarà sempre 2), n++; se incontriamo 3, lo cambiamo con m-esimo elemento dalla fine non uguale a 3, m++, e se incontriamo 1, procediamo come descritto nella prima parte.
Senza copia (o direte che riempire la copia è un passaggio separato)
n=0, m=0
Partiamo dall'inizio della matrice. Se incontriamo 1, lo cambiamo con n-esimo elemento dall'inizio non uguale a 1 (per costruzione sarà sempre 2), n++; se incontriamo 3, lo cambiamo con m-esimo elemento dalla fine non uguale a 3, m++, e se incontriamo 1, procediamo come descritto nella prima parte.
Questo è un ottimo modo di andare.
La riduzione del numero di passaggi non dà sempre un aumento della velocità.
A+B=...
Senza copia (o direte che riempire la copia è un passaggio separato)
n=0, m=0
Partiamo dall'inizio della matrice. Se incontriamo 1, lo cambiamo con n-esimo elemento dall'inizio non uguale a 1 (per costruzione sarà sempre 2), n++; se incontriamo 3, lo cambiamo con m-esimo elemento dalla fine non uguale a 3, m++, e se incontriamo 1, procediamo come descritto nella prima parte.
Buona idea.