RANK() və DENSE_RANK() arasındakı fərq nədir?
Data Engineer
CREATE TABLE orders ( driver_id varchar, city varchar, order_id varchar ); -- Hər şəhərdə ən çox sifariş alan ilk 10 sürücünü əldə edin
Məlumatların sıxılması harada daha yaxşı işləyir — sütunlu və ya sətirli yaddaşda və niyə?
Sütun və sətir məlumat saxlama haqqında nə bilirsən? Nə zaman və hansı seçilməlidir və niyə?
-- Əsas stretch cədvəli -- id üzrə NULL olmayan əvvəlki dəyərlə NULL-ləri doldurmaq lazımdır - aşağı doğru genişləndirmək 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 sorğusu ilə istənilən cədvəli əldə etmək üçün SELECT id, ttime, COALESCE(val, LAST_VALUE(val) OVER(PARTITION BY id ORDER BY ttime)) as val FROM stretch
Sözlük ilə həll nə qədər əlavə yaddaş tələb edir, geri qaytarılan məlumatlar nəzərə alınmadan?
Quraşdırılmış sorted istifadə edən həll nə qədər müddət işləyəcək? Daha sürətli həll tapmaq mümkündürmü?
Nəticə həllini vaxt və yaddaş baxımından qiymətləndirin.
Lüğət istifadə edərək, O(n) xətt vaxtında problemi necə həll etmək olar? Sonra sıralanmış bir sətir yaratmaq üçün lüğətdə nə saxlamaq lazımdır? Sıralamada olmayan simvolları necə işləmək olar?
-- İki və ya daha çox gün ardıcıl səyahət edən bütün sərnişinləri tapın
Verilən order sətiri, istənilən simvolların istənilən ardıcıllığını göstərir. unsorted_str sətirindəki simvolları, order sətiri ilə uyğun olacaq şəkildə yenidən düzəltmək lazımdır. Hər iki sətir kiçik hərflərdən ibarətdir və order-dəki bütün simvollar fərqlidir. unsorted_str-dəki simvolların ardıcıllığı, order sətiri ilə uyğun sayılır, eğer order-də x simvolu y simvolundan əvvəl gəlirsə, unsorted_str-də x-in hər hansı bir görünüşü, y-nin hər hansı bir görünüşündən əvvəl olmalıdır. order-də unsorted_str-dən simvolların olmaması və ya əksinə hallara icazə verilir. Hər hansı bir icazə verilən permutasiya qaytarın. unsorted_str = "abcd" order = "cba" cavab = "dcba" ("cdba", "cbda", "cbad") def CustomSort(unsorted_str: str, order: str) -> str: # kod burada
Yuxarıya uzatma necə etmək olar (NULL-ləri tərs istiqamətdə əvvəlki sıfır olmayan dəyərlə doldurun)?