Qual è la differenza tra RANK() e DENSE_RANK()?
Data Engineer
CREATE TABLE orders ( driver_id varchar, city varchar, order_id varchar ); -- Ottenere i primi 10 autisti per numero di ordini in ogni città
Dove funziona meglio la compressione dei dati: nell'archiviazione a colonne o a righe, e perché?
Dimmi cosa sai sul salvataggio dei dati in colonne e in righe. Quando e quale dovresti scegliere e perché?
-- Tabella originale stretch -- È necessario riempire con il valore precedente (non NULL) in base all'id - eseguire il riempimento verso il basso id | ttime | val ---|-------|----- 1 | 07:30 | NULL 1 | 09:21 | 10 1 | 13:53 | NULL 1 | 16:12 | NULL 2 | 09:42 | 133 2 | 15:20 | NULL 2 | 21:33 | NULL 3 | 08:01 | NULL 3 | 11:41 | 8 3 | 14:23 | NULL 3 | 16:17 | NULL 3 | 19:54 | 2 4 | 13:10 | 312 4 | 14:42 | NULL 4 | 16:31 | 7 4 | 17:44 | NULL id | ttime | val ---|-------|----- 1 | 07:30 | NULL 1 | 09:21 | 10 1 | 13:53 | 10 1 | 16:12 | 10 2 | 09:42 | 133 2 | 15:20 | 133 2 | 21:33 | 133 3 | 08:01 | NULL 3 | 11:41 | 8 3 | 14:23 | 8 3 | 16:17 | 8 3 | 19:54 | 2 4 | 13:10 | 312 4 | 14:42 | 312 4 | 16:31 | 7 4 | 17:44 | 7 -- Query SQL per ottenere la tabella desiderata SELECT id, ttime, COALESCE(val, LAST_VALUE(val) OVER(PARTITION BY id ORDER BY ttime)) as val FROM stretch
Quanta memoria aggiuntiva richiede una soluzione con dizionario, escludendo i dati restituiti?
Quanto tempo impiegherà la soluzione con l'uso di sorted integrato? È possibile ideare una soluzione più veloce?
Valuta la soluzione finale in termini di tempo e memoria.
Come risolvere un problema in tempo lineare O(n) usando un dizionario? Cosa bisogna memorizzare nel dizionario per poi costruire una stringa ordinata? Come gestire i caratteri che non sono nell'ordine?
-- Trovare tutti i passeggeri che hanno effettuato viaggi di due o più giorni consecutivi
Dato una stringa order che indica l'ordine desiderato dei caratteri. È necessario riordinare i caratteri in unsorted_str in modo che l'ordine sia coerente con la stringa order. Entrambe le stringhe sono composte da caratteri dell'alfabeto inglese minuscolo, tutti i caratteri in order sono diversi. L'ordine dei caratteri in unsorted_str è chiamato coerente con la stringa order, se, dal fatto che il carattere x appare prima del carattere y in order, ne consegue che ogni occorrenza di x in unsorted_str deve essere prima di ogni occorrenza di y. Situazioni in cui order non contiene caratteri di unsorted_str e viceversa sono ammesse. Restituisci qualsiasi permutazione consentita. unsorted_str = "abcd" order = "cba" risposta = "dcba" ("cdba", "cbda", "cbad") def CustomSort(unsorted_str: str, order: str) -> str: # codice qui
Come fare un'estensione verso l'alto (riempire NULL con il valore non nullo precedente in direzione inversa)?