```python # a = "abc", boş olmayan, unikal (m) # s = "dfaga[bfkac]ebf" => "aceb" (n) O(n) # s = "cfaafb" => "cfaafb" # s = "affb" => "" from collections import Counter def min_s(a: str, s: str) -> str: need = set(a) window = Counter() res = "" c = 0 left = 0 best_len = float('inf') for right, char in enumerate(s): if char in need and \ window[char] += 1 if window[char]: c += 1 ```
Python
Verilənlər bazasında saxlamaq məcburiyyətində qaldığınız ən böyük məlumat həcmi nə idi?
Son peşəkar təcrübənizi və nailiyyətlərinizi paylaşın.
```python from collections import Counter def min_s(a: str, s: str) -> str: need = set(a) window = Counter() res = "" c = 0 left = 0 best_len = float('inf') for right, char in enumerate(s): if char in need and \ window[char] += 1 if window[char]: c += 1 while c == len(need): if right - left + 1< best_len: res = s[left:right + 1] best_len = right - left + 1 if s[left] in need: window[s[left]] -= 1 if window[s[left]] == 0: c -= 1 left += 1 return res ``` Tapşırıq `min_s(a: str, s: str) -> str` funksiyasını həyata keçirməkdir, hansı ki, `s` içində `a`-dakı bütün simvolları ehtiva edən ən kiçik altstringi tapır.
from file import ATM, SDK import pytest BILLS = {5000, 1000, 500, 100, 50} @pytest.mark.parametrize( "bills_count_const,expected", [ ({5000: 0, 1000: 0, 500: 0, 100: 0, 50: 0}, False), ({5000: 100, 1000: 100, 500: 100, 100: 100, 50: 100}, True) ] ) def test_false(bills_count_const, expected): atm = ATM(SDK()) atm.bills_count = bills_count_const amount = 1000 res = atm.withdraw(amount) assert res == expected return
Çox ipli və ya asinxron proqramlar hazırlama təcrübəniz varmı?
from collections import Counter def min_s(a: str, s: str) -> str: need = set(a) window = Counter() res = "" c = 0 left = 0 best_len = float('inf') for right, char in enumerate(s): if char in need: window[char] += 1 if window[char] == 1: c += 1 while c == len(need): if right - left + 1 < best_len: res = s[left:right + 1] best_len = right - left + 1 if s[left] in need: window[s[left]] -= 1 if window[s[left]] == 0: c -= 1 left += 1 return res
Sol tərəfdən pəncərəni kiçiltərkən, müəyyən bir simvolu (məsələn, A simvolu) çıxarmaq mümkün olub-olmadığını necə anlamaq olar, əlifbanın əhatəsini itirmədən?
Kvadrat əməliyyatını aradan qaldırdıqdan sonra alqoritmin yekun mürəkkəbliyi nədir? Doğrudur ki, əlifba m-nin ölçüsü vaxt mürəkkəbliyinə heç bir təsir göstərmir?
# a = "abc", boş deyil, unikal # s = "dfagabfkacebf" => "aceb" # s = ""
Hansı iş formatını nəzərdə tutursan?
""" Şəhər cütlərinin toplusu verilir: - hər bir şəhər cütlüyü arasında işçi birbaşa uçuş həyata keçirib; - uçuşun istiqaməti haqqında məlumat itirilib; - həmçinin, uçuşların ardıcıllığı da itirilib. Bilinir ki, bütün uçuşlar tək bir səyahətə aiddir. Hər bir növbəti uçuş əvvəlki uçuşun sonunda bitən şəhərdən başlayır. Heç bir şəhər işçi tərəfindən iki dəfə ziyarət edilməyib. Səyahətin başlanğıc şəhəri də son nöqtədən fərqlidir. Şəhərləri marşrut üzrə ardıcıllıqla göstərin. İki mümkün cavab var, hər ikisi uyğundur. Nümunələr: [("Moskva", "Belqrad")] -> ["Moskva", "Belqrad"] [(("Moskva", "Belqrad"), ("Moskva", "Erevan")) -> ["Erevan", "Moskva", "Belqrad"] """ Flight = tuple[str, str] def get_route(flights: list[Flight]) -> list[str]: ...
Bu tapşırıqda qrafı təmsil etmək üçün hansı məlumat strukturu istifadə oluna bilər?
İşdə hansı verilənlər bazaları və ya digər saxlama yerlərindən istifadə edirsiniz?
Ən çox yüklü xidmət saniyədə ən çox neçə sorğu işləyib?
Verilən tam ədədlər ardıcıllığı verilir. Təkliyin mümkün olan ən kiçik hasilini tapmaq lazımdır (cüt - iki istənilən element, ardıcıl olmaya bilər). Məsələn, 9 4 2 5 3 ədədlər ardıcıllığı üçün cavab 6 olacaq.
Əvvəlki vaxtlarda [şirkət]də vakant yerləri nəzərdən keçirmisiniz, işə götürənlərlə əlaqə saxlamısınızmı?