Sobes.tech

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

116

```python # a = "abc", жок эмес, уникалдуу (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 ```

116

""" Берилген бүтүн сандардын тизмеси. Тизмедеги эки элементтин эң кичинекей мүмкүн болгон көбөйтмүн табуу керек (жуп - эки каалаган элемент, зарыл эмес биринин артынан бири болуу керек эмес). Мисалы, 9 4 2 5 3 сандарынын тизмеси үчүн жооп 6 болот. """ def find_min_product(arr: list[int]) -> int: ...

116

Көп жиптүү же асинхрондук программалар иштеп чыгуу тажрыйбасың барбы?

115

```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 ``` Максаты — `min_s(a: str, s: str) -> str` функциясын ишке ашыруу, `s` ичинде `a` сапындагы бардык белгилерди камтыган эң кичинекей бөлүмдү табуу.

115

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

115

Кайсы иш форматын карап жатасыз?

111

Терезени солдон кыскартканда, белгилүү бир белгини (мисалы, белгиси A) алып салса болобу, алфавиттин камтуусун жоготпостон?

111

Бул тапшырмада графты көрсөтүү үчүн кайсы маалыматтык структураны колдонсо болот?

111

""" Шаарлардын эки тараптуу тизмеси берилген: - ар бир эки шаар ортосунда кызматкер түз учуп кеткен; - учуу багыты тууралуу маалымат жоголгон; - ошондой эле, учууларды тартиби да жоголгон. Билгибизче, бардык учуулар бир сапарга тиешелүү. Ар бир кийинки учуу алгачкы учуу аяктагандан кийин башталат. Эч кандай шаар кызматкер тарабынан эки жолу кыдырылган эмес. Сапар башталуучу шаары акыркы пункттан айырмаланат. Шаарларды маршрут боюнча тартипте чыгарыңыз. Эки мүмкүн жооп бар, каалаганын алса болот. Мисалдар: [("Москва", "Белград")] -> ["Москва", "Белград"] [(("Москва", "Белград"), ("Москва", "Ереван")) -> ["Ереван", "Москва", "Белград"] """ Flight = tuple[str, str] def get_route(flights: list[Flight]) -> list[str]: ...

110

# a = "abc", бош эмес, уникалдуу # s = "dfagabfkacebf" => "aceb" # s = ""

110

Квадраттык операцияны жок кылгандан кийин алгоритмдин акыркы кыйынчылыгы кандай? Алфавиттин m өлчөмү убакыттык кыйынчылыкка эч кандай таасир этпейт деп туурабы?

110

Иште кандай маалыматтар базалары же башка сактоо жайларын колдонуп жатасың?

109

Эң жүк ташыган кызмат бир секундта канча суроо иштеткен?

106

Бул бүтүн сандардын үзүндүсү. Үзүндүдө эки элементтин эң төмөнкү мүмкүн болгон көбөйтүлүшүн табуу керек (эки элемент – кандайдыр бир эки элемент, зарыл эмес биринин артынан бири болуу). Мисалы, 9 4 2 5 3 сандар үзүндүсү үчүн жооп 6 болот.

104

Эми мурда [компания]да бош бош орундарга карап чыккансызбы, жумуш берүүчүлөр менен байланышкансызбы?

98
/5