Sobes.tech

Python

Dalieties ar savu pēdējo profesionālo pieredzi un sasniegumiem.

Junior — Middle
116

```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 ``` Mērķis ir īstenot funkciju `min_s(a: str, s: str) -> str`, kas atrod mazāko apakšvirkni `s`, kas satur visus rakstzīmes no virknes `a`.

115

""" Dota veselu skaitmenų seka. Nepieciešams atrast minimālo iespējamā produkta pāriem secībā (pāris - divi jebkuri elementi, nav obligāti secīgi). Piemēram, secībā 9 4 2 5 3 atbilde būs 6. """ def find_min_product(arr: list[int]) -> int: ...

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

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

114

Vai tev ir pieredze programmu izstrādē ar daudzvītnēm vai asinhronumu?

112

Kā saprast, vai ir iespējams noņemt konkrētu rakstzīmi (piemēram, rakstzīmi A), samazinot logu no kreisās puses, nezaudējot alfabēta pārklājumu?

111

Kura datu struktūra var tikt izmantota, lai attēlotu grafu šajā uzdevumā?

110

Kāda ir tagad algoritma galīgā sarežģītība pēc kvadrātiskās operācijas novēršanas? Vai ir pareizi, ka alfabēta m lielums nekādā veidā neietekmē laika sarežģītību?

110

""" Dotas ir pāru pilsētu kopums: - starp katru pilsētu pāri darbinieks veica tiešo lidojumu; - informācija par lidojuma virzienu ir zaudēta; - arī lidojumu secība ir zaudēta. Zināms, ka visi lidojumi pieder vienam ceļojumam. Katrs nākamais lidojums sākās tajā pilsētā, kur beidzās iepriekšējais. Neviens pilsēta nav apmeklēta darbinieka divreiz. Ceļojuma sākuma pilsēta arī atšķiras no galamērķa. Izdrukājiet pilsētas maršruta secībā. Ir divi iespējamie atbildes varianti, jebkurš ir piemērots. Piemēri: [("Maskava", "Belgrāda")] -> ["Maskava", "Belgrāda"] [(("Maskava", "Belgrāda"), ("Maskava", "Erevan")) -> ["Erevan", "Maskava", "Belgrāda"] """ Flight = tuple[str, str] def get_route(flights: list[Flight]) -> list[str]: ...

110

# a = "abc", nav tukšs, unikāls # s = "dfagabfkacebf" => "aceb" # s = ""

109

Kuras datu bāzes vai citus glabātuves izmanto darbā?

108

Cik daudz maksimāli pieprasījumu sekundē apstrādāja visvairāk noslogotā pakalpojums?

105

Tā ir veselu skaitļu secība. Nepieciešams atrast minimālo iespējamo produkta vērtību pāra elementiem secībā (pāris – divi jebkuri elementi, nav obligāti secīgi). Piemēram, secībai 9 4 2 5 3 atbilde būs 6.

104

Vai iepriekš esi apsvēris vakances [uzņēmumā], vai sazinājies ar rekrutētājiem?

98
/5