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
```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 ```
""" Տրված է ամբողջ թվերի հաջորդականություն: Պետք է գտնել հաջորդականության երկու տարրերի հնարավոր ամենափոքր արտադրյալը (զույգ - երկու ցանկացած տարր, ոչ պարտադիր հաջորդական): Օրինակ, համարների հաջորդականության 9 4 2 5 3 համար պատասխանն է 6: """ def find_min_product(arr: list[int]) -> int: ...
Ի՞նչ էր տվյալների բազայում պահելու համար անհրաժեշտ ամենամեծ տվյալների ծավալը։
Դու ունե՞ս բազմապատկման կամ ասինխրոն ծրագրեր մշակելու փորձ։
```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`-ից։
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
Ի՞նչ աշխատանքային ձևաչափ եք դիտարկում:
Ինչպե՞ս հասկանալ, արդյոք հնարավոր է հեռացնել կոնկրետ նշան (օրինակ, նշան A) ձախից պատուհանը սեղմելիս, առանց այբուբենի ծածկույթը կորցնելու։
Ի՞նչ տվյալների կառուցվածք կարելի է օգտագործել այս առաջադրանքում գրաֆը ներկայացնելու համար։
""" Տրված է քաղաքների զույգերի հավաքածու. - յուրաքանչյուր զույգ քաղաքների միջև աշխատակիցը կատարել է ուղղակի թռիչք; - թռիչքի ուղղության մասին տեղեկությունը կորել է; - ինչպես նաև, թռիչքների կարգը կորել է: Նշված է, որ բոլոր թռիչքները պատկանում են մեկ ճանապարհորդության: Ամեն հաջորդ թռիչքը սկսվում էր այն քաղաքից, որտեղ ավարտվում էր նախորդը: Ոչ մի քաղաք չի այցելվել երկու անգամ աշխատակցի կողմից: Սկիզբը և վերջը տարբեր քաղաքներ են: Ցուցադրել քաղաքները ուղու կարգով: Կան երկու հնարավոր պատասխաններ, ցանկացածը ընդունելի է: Օրինակներ: [("Մոսկվա", "Բելգրադ")] -> ["Մոսկվա", "Բելգրադ"] [(("Մոսկվա", "Բելգրադ"), ("Մոսկվա", "Երևան")) -> ["Երևան", "Մոսկվա", "Բելգրադ"] """ Flight = tuple[str, str] def get_route(flights: list[Flight]) -> list[str]: ...
# a = "abc", դատարկ չէ, եզակի # s = "dfagabfkacebf" => "aceb" # s = ""
Ի՞նչ է այժմ ալգորիթմի վերջնական բարդությունը քառակուսային գործողությունը վերացնելուց հետո: Ճիշտ է, որ այբուբենի m չափը որևէ կերպ չի ազդում ժամանակային բարդության վրա:
Ի՞նչ տվյալների բազաներ կամ այլ պահեստներ ես օգտագործում աշխատանքում:
Իմաստուն ծառայությունը ամենաշատ բեռնված ծառայությունն է, որը ամենաշատ հարցում է մշակել մեկ վայրկյանում:
Սա ամբողջ թվերի հաջորդականություն է: Պետք է գտնել հաջորդականության երկու տարրերի հնարավոր ամենափոքր արտադրյալը (երկու տարր՝ ցանկացած, պարտադիր չէ հաջորդական): Օրինակ, համար 9 4 2 5 3 հաջորդականության պատասխանն է 6։
Նախկինում եք դիտարկել [կազմակերպություն]-ում ազատ աշխատատեղեր, կապ եք հաստատել ռեկրուտերների հետ?