Mi a különbség a RANK() és a DENSE_RANK() között?
Data Engineer
CREATE TABLE orders ( driver_id varchar, city varchar, order_id varchar ); -- Szerezze meg minden városban a top 10 sofőrt a megrendelések száma szerint
Hol működik jobban az adatok tömörítése — oszlopos vagy soros tárolásban, és miért?
Mesélj arról, amit tudsz az oszlop- és soralapú adattárolásról. Mikor és melyiket kell választani, és miért?
-- Kiindulási stretch táblázat -- Szükséges a NULL értékeket az előző (nem NULL) értékkel kitölteni id szerint - lefelé történő kitöltés 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 lekérdezés a kívánt táblázat eléréséhez SELECT id, ttime, COALESCE(val, LAST_VALUE(val) OVER(PARTITION BY id ORDER BY ttime)) as val FROM stretch
Mennyi extra memóriát igényel egy szótáras megoldás, a visszaküldött adatok nélkül?
Mennyi idő alatt fog működni a beépített sorted használatával megoldás? Lehet-e gyorsabb megoldást kitalálni?
Értékelje a végső megoldást idő és memória szempontjából.
Hogyan old meg egy problémát lineáris időben O(n) egy szótár használatával? Mit kell tárolni a szótárban, hogy később rendezett sztringet állítsunk össze? Hogyan kezeljük azokat a karaktereket, amelyek nem szerepelnek a sorrendben?
-- Keresse meg az összes utast, akik két vagy több egymást követő napot utaztak
Adott egy order nevű karakterlánc, amely megadja a kívánt karakter sorrendet. Az unsorted_str karakterlánc karaktereit úgy kell újrarendezni, hogy a sorrend megfeleljen a order karakterláncnak. Mindkét karakterlánc az angol ábécé kisbetűiből áll, az összes karakter a order-ben különböző. Az unsorted_str karaktereinek sorrendje a order-rel összhangban van, hogyha az x karakter a y előtt van a order-ben, akkor az x minden előfordulása az unsorted_str-ben az y minden előfordulása előtt kell, hogy legyen. Engedélyezettek olyan helyzetek, amikor a order-ben nincsenek unsorted_str karakterei és fordítva. Bármilyen megengedett permutációt adjon vissza. unsorted_str = "abcd" order = "cba" válasz = "dcba" ("cdba", "cbda", "cbad") def CustomSort(unsorted_str: str, order: str) -> str: # kód ide
Hogyan készítsünk felfelé történő kiterjesztést (NULL értékeket töltsünk ki az előző nem null értékkel fordított irányban)?