Jaký je rozdíl mezi RANK() a DENSE_RANK()?
Data Engineer
CREATE TABLE orders ( driver_id varchar, city varchar, order_id varchar ); -- Získejte 10 nejlepších řidičů podle počtu objednávek v každém městě
Kde funguje lepší komprese dat — v sloupcovém nebo řádkovém uložení a proč?
Pověz mi, co víš o sloupcovém a řádkovém ukládání dat. Kdy a které bys měl vybrat a proč?
-- Výchozí tabulka stretch -- Je nutné doplnit NULL hodnoty předchozí nenullovou hodnotou podle id - provést doplnění směrem dolů 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 -- SQL dotaz pro získání požadované tabulky SELECT id, ttime, COALESCE(val, LAST_VALUE(val) OVER(PARTITION BY id ORDER BY ttime)) as val FROM stretch
Kolik dodatečné paměti vyžaduje řešení se slovníkem, nepočítaje vrácená data?
Jak dlouho bude trvat řešení s použitím vestavěného sorted? Lze vymyslet rychlejší řešení?
Ohodnoťte konečné řešení z hlediska času a paměti.
Jak vyřešit úlohu v lineárním čase O(n) pomocí slovníku? Co je třeba uložit do slovníku, aby bylo možné později sestavit seřazený řetězec? Jak zpracovat znaky, které nejsou v pořadí?
-- Najít všechny cestující, kteří podnikli cesty dva nebo více dnů po sobě
Dána řetězec order, který udává požadovaný pořadí znaků. Je třeba přeuspořádat znaky v řetězci unsorted_str tak, aby pořadí bylo v souladu s řetězcem order. Oba řetězce se skládají z malých písmen anglické abecedy, všechny znaky v order jsou odlišné. Pořadí znaků v unsorted_str se nazývá v souladu s řetězcem order, pokud z toho, že znak x stojí před znakem y v order, vyplývá, že jakákoli výskyt x v unsorted_str musí být před jakýmkoli výskytem y. Situace, kdy v order nejsou znaky z unsorted_str a naopak, jsou povoleny. Vraťte jakoukoli povolenou permutaci. unsorted_str = "abcd" order = "cba" odpověď = "dcba" ("cdba", "cbda", "cbad") def CustomSort(unsorted_str: str, order: str) -> str: # kód zde
Jak provést prodloužení nahoru (vyplnit NULL předchozí nenulovou hodnotou v opačném směru)?