Кой беше най-големият обем данни, който трябваше да съхранявате в база данни?
Python
Оценете времевата и пространствената сложност на алгоритъма спрямо дължината на текста n и размера на азбуката m.
```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 ```
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 ``` Задачата е да се реализира функция `min_s(a: str, s: str) -> str`, която намира най-малката подниз в `s`, която съдържа всички символи от низ `a`.
Как да разберете дали можете да изхвърлите конкретен символ (например символ A), при стесняване на прозореца отляво, без да загубите покритието на азбуката?
Каква структура от данни може да се използва за представяне на граф в тази задача?
""" Даден е набор от двойки градове: - между всяка двойка градове служител е извършил директен полет; - информацията за посоката на полета е изгубена; - също така е изгубен редът на полетите. Знае се, че всички полети принадлежат на едно пътуване. Всеки следващ полет започва от града, в който е завършил предишният. Нито един град не е посещаван два пъти от служителя. Градът на началото на пътуването също е различен от крайния. Изведете градовете в реда на маршрута. Има два възможни отговора, всеки е подходящ. Примери: [("Москва", "Белград")] -> ["Москва", "Белград"] [(("Москва", "Белград"), ("Москва", "Ереван")) -> ["Ереван", "Москва", "Белград"] """ Flight = tuple[str, str] def get_route(flights: list[Flight]) -> list[str]: ...
Какъв формат на работа разглеждате?
Каква е сега крайната сложност на алгоритъма след премахването на квадратичната операция? Вярно ли е, че размерът на азбуката m никак не влияе на времевата сложност?
# a = "abc", не празен, уникален # s = "dfagabfkacebf" => "aceb" # s = ""
Какви бази данни или други хранилища използваш в работата?
Какъв е максималният брой заявки в секунда, които е обработвал най-натовареният сервис?
Дадена е последователност от цели числа. Трябва да намерите минимално възможното произведение на двойка елементи от последователността (двойка - два произволни елемента, не непременно последователни). Например, за последователността 9 4 2 5 3, отговорът ще бъде 6.
Преди това разглеждал ли си свободни работни места в [компания], свързвал ли си се с рекрутъри?