Sobes.tech

Python

Împărtășiți ultima experiență profesională și realizările dvs.

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 ``` Sarcina este să implementați o funcție `min_s(a: str, s: str) -> str` care găsește cea mai mică subșir în `s` care conține toate caracterele din șirul `a`.

115

""" Se dă o secvență de numere întregi. Este necesar să se găsească produsul minim posibil al unei perechi de elemente din secvență (o pereche - două elemente oricare, nu neapărat consecutive). De exemplu, pentru secvența de numere 9 4 2 5 3, răspunsul va fi 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

Ai experiență în dezvoltarea de programe cu multithreading sau asincronie?

112

Cum să știi dacă poți elimina un caracter specific (de exemplu, caracterul A) atunci când micșorezi fereastra din stânga, fără a pierde acoperirea alfabetului?

111

Ce structură de date poate fi folosită pentru a reprezenta un graf în această problemă?

110

Care este complexitatea finală a algoritmului după eliminarea operației cuadratice? Este adevărat că dimensiunea alfabetului m nu influențează deloc complexitatea temporală?

110

Ce format de lucru iei în considerare?

110

""" Se oferă un set de perechi de orașe: - între fiecare pereche de orașe, un angajat a efectuat un zbor direct; - informația despre direcția zborului s-a pierdut; - de asemenea, s-a pierdut și ordinea zborurilor. Se știe că toate zborurile aparțin unei singure călătorii. Fiecare zbor următor începea din orașul în care s-a terminat cel anterior. Niciun oraș nu a fost vizitat de angajat de două ori. Orașul de început al călătoriei diferă și de punctul final. Afișați orașele în ordinea traseului. Există două răspunsuri posibile, oricare este potrivit. Exemple: [("Moscova", "Belgrad")] -> ["Moscova", "Belgrad"] [(("Moscova", "Belgrad"), ("Moscova", "Erevan")) -> ["Erevan", "Moscova", "Belgrad"] """ Flight = tuple[str, str] def get_route(flights: list[Flight]) -> list[str]: ...

110

# a = "abc", nenul, unic # s = "dfagabfkacebf" => "aceb" # s = ""

109

Ce baze de date sau alte depozite folosești în muncă?

108

Care este numărul maxim de solicitări pe secundă procesate de cel mai încărcat serviciu?

105

Se oferă o secvență de numere întregi. Este necesar să găsiți cel mai mic produs posibil al unui cuplu de elemente din secvență (cuplu - două elemente oricare, nu neapărat consecutive). De exemplu, pentru secvența de numere 9 4 2 5 3, răspunsul va fi 6.

104

Ai considerat anterior posturi vacante la [companie], ai contactat recrutori?

98
/5