Sobes.tech

Python

```python # a = "abc", niepusty, unikalny (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

""" Dany jest ciąg liczb całkowitych. Należy znaleźć minimalnie możliwy iloczyn pary elementów ciągu (par - dwa dowolne elementy, niekoniecznie sąsiadujące). Na przykład, dla ciągu liczb 9 4 2 5 3, odpowiedź będzie 6. """ def find_min_product(arr: list[int]) -> int: ...

116

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

116

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 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 ``` Zadaniem jest zaimplementowanie funkcji `min_s(a: str, s: str) -> str`, która znajdzie najmniejszy podłańcuch w `s`, zawierający wszystkie znaki z łańcucha `a`.

115

Czy masz doświadczenie w tworzeniu programów z wielowątkowością lub asynchronicznością?

115

Jakiej struktury danych można użyć do reprezentacji grafu w tym zadaniu?

111

Jak rozpoznać, czy można usunąć konkretny znak (np. znak A) podczas zmniejszania okna z lewej strony, nie tracąc pokrycia alfabetu?

111

Jaka jest ostateczna złożoność algorytmu po usunięciu operacji kwadratowej? Czy to prawda, że rozmiar alfabetu m w żaden sposób nie wpływa na złożoność czasową?

110

""" Zestaw par miast jest podany: - między każdą parą miast pracownik wykonał lot bezpośredni; - informacje o kierunku lotu są utracone; - również utracono kolejność lotów. Wiadomo, że wszystkie loty należą do jednej podróży. Każdy kolejny lot zaczynał się w mieście, w którym zakończył się poprzedni. Żadne miasto nie było odwiedzane przez pracownika dwa razy. Miasto rozpoczęcia podróży różni się również od miasta końcowego. Wypisz miasta w kolejności trasy. Istnieją dwie możliwe odpowiedzi, dowolna jest odpowiednia. Przykłady: [("Moskwa", "Belgrad")] -> ["Moskwa", "Belgrad"] [(("Moskwa", "Belgrad"), ("Moskwa", "Erewan")) -> ["Erewan", "Moskwa", "Belgrad"] """ Flight = tuple[str, str] def get_route(flights: list[Flight]) -> list[str]: ...

110

# a = "abc", niepusty, unikalny # s = "dfagabfkacebf" => "aceb" # s = ""

110

Z jakich baz danych lub innych magazynów korzystasz w pracy?

109

Jaka jest maksymalna liczba zapytań na sekundę obsługiwana przez najbardziej obciążoną usługę?

107

To jest ciąg liczb całkowitych. Należy znaleźć minimalną możliwą wartość iloczynu pary elementów ciągu (par to dwa dowolne elementy, niekoniecznie sąsiadujące). Na przykład, dla ciągu liczb 9 4 2 5 3, odpowiedź będzie 6.

105

Czy wcześniej rozważałeś oferty pracy w [firma], kontaktowałeś się z rekruterami?

98
/5