Supponiamo, Ho un array di numeri interi n
(per n=2
è un vettore, per n=2
è una matrice rettangolare, per n=3
è un parallelepipedo, ecc.). Ho bisogno di riordinare gli elementi dell'array in modo che gli elementi in ogni riga, colonna, ecc. Siano in ordine decrescente.È sempre possibile ordinare un array multidimensionale in tutte le dimensioni? Come?
- È possibile per qualsiasi array di input?
L'ordine richiesto è univoco per qualsiasi array di input?Mi sono appena reso conto che la risposta a questa domanda in generale è no, ad es. per matrici quadrate.- L'ordine richiesto è univoco per qualsiasi array di input con lunghezze diverse in tutte le dimensioni?
- Qual è l'algoritmo più veloce per produrre l'ordine richiesto?
È possibile definire "riordinare" in modo più preciso? –
Quindi, per un array 2D di numeri interi, vorresti il numero intero più grande nell'angolo in basso a destra? Mi sembra che ordinando ogni colonna, e poi ogni riga ti darà un tale riordino. Sono sicuro che c'è un modo più veloce per farlo però. –
@ZiyaoWei "riordinare" significa "riorganizzare", "mettere gli stessi elementi è un (possibilmente) ordine diverso". In altre parole, la matrice risultante deve contenere gli stessi numeri interi, con la stessa molteplicità (nel caso in cui un intero appaia più volte in posizioni diverse nell'array di input), ma possibilmente in posizioni diverse (nessuna, una, alcune o tutte le gli indici possono cambiare). –