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

 
MikeM:

Circa l'orologio:

4 minuti dopo l'inizio flip 4 minuti dopo l'inizio

dopo aver girato in 4 min 4 min, in 7 min 3 min.

dopo altri 3 minuti

in 4 minuti 1 min, in 7 minuti 0

girare per 7 minuti

in 4-minuti 1 min, in 7-minuti 7

dopo un altro minuto.

4 minuti 0, 7 minuti 6

girare i 7 minuti.

in 4 minuti 0, in 7 minuti 1

in un altro minuto - il momento giusto!

correttamente)
 
Il primo passaggio conta gli uno, i due e i tre, e il secondo riempie l'array "ordinato" con il giusto numero di numeri
 
Primo passaggio di conteggio, secondo passaggio di scrittura. O(n) naturalmente.
 
GaryKa:

Ecco un puzzle.

Certo, è noioso, ma alle interviste come apoteosi della conoscenza sugli array di ordinamento))


Quindi, un problema di ordinamento

C'è una matrice di N celle, in cui le unità, i due e i tre sono posti in ordine casuale.

Costruire il miglior algoritmo di ordinamento.


Cioè solo 3 scelte di dati?

Primo passaggio: conta quanti uno, quanti due e quanti tre.

Secondo passaggio: riempiamo.

Totale 2 passaggi.

 
MikeM:
Primo passaggio - contare gli uno, i due e i tre, secondo passaggio - riempire la matrice "ordinata" con la giusta quantità di numeri giusti
Sì )) poveri candidati intasati da domande precedenti sull'ordinamento di cosa non fare per il divertimento del pubblico, e la bolla, e gli inserti, e tutte le combinazioni con eccezioni
 
GaryKa:
Sì )) i poveri candidati, troppo incatenati da domande di ordinamento precedenti, fanno quello che fanno per il divertimento del pubblico, con bolle, campionamenti e ogni sorta di combinazioni con eccezioni
Tutto ciò di cui hai bisogno non è complicato. Tutto ciò che è complicato non è necessario!
 

Una domanda semplice (per i programmatori):

A+B=...

 
lvalore previsto :)
 
Questo non è un operatore di nessuna lingua. È il lato sinistro dell'uguaglianza. Cosa si dovrebbe scrivere sul lato destro?
 
sand:


Cioè solo 3 varianti di dati?

Primo passaggio: conta quanti uno, quanti due e quanti tre.

Secondo passaggio: riempire.

Totale 2 passaggi.

In un solo passaggio:

Creare una copia vuota di una matrice della stessa dimensione, inizializzarla con due.

Partiamo dall'inizio della matrice. Se incontriamo 1, lo copiamo dall'inizio; se incontriamo 3, lo copiamo dalla fine.