```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 ```
Python
""" 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: ...
Jaka była największa ilość danych, którą musiałeś przechowywać w bazie danych?
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
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
```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`.
Czy masz doświadczenie w tworzeniu programów z wielowątkowością lub asynchronicznością?
Jaki format pracy rozważasz?
Jakiej struktury danych można użyć do reprezentacji grafu w tym zadaniu?
Jak rozpoznać, czy można usunąć konkretny znak (np. znak A) podczas zmniejszania okna z lewej strony, nie tracąc pokrycia alfabetu?
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ą?
""" 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]: ...
# a = "abc", niepusty, unikalny # s = "dfagabfkacebf" => "aceb" # s = ""
Z jakich baz danych lub innych magazynów korzystasz w pracy?
Jaka jest maksymalna liczba zapytań na sekundę obsługiwana przez najbardziej obciążoną usługę?
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.
Czy wcześniej rozważałeś oferty pracy w [firma], kontaktowałeś się z rekruterami?