```python # a = "abc", no vacío, único (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
""" Se da una secuencia de números enteros. Es necesario encontrar el producto mínimo posible de un par de elementos de la secuencia (un par - dos elementos cualesquiera, no necesariamente consecutivos). Por ejemplo, para la secuencia de números 9 4 2 5 3, la respuesta será 6. """ def find_min_product(arr: list[int]) -> int: ...
¿Cuál ha sido el mayor volumen de datos que ha tenido que almacenar en una base de datos?
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 ``` La tarea es implementar una función `min_s(a: str, s: str) -> str` que encuentre la subcadena mínima en `s` que contenga todos los caracteres de la cadena `a`.
¿Has tenido experiencia en el desarrollo de programas con multithreading o asincronía?
¿Qué formato de trabajo consideras?
¿Qué estructura de datos se puede usar para representar un grafo en esta tarea?
¿Cómo saber si se puede eliminar un carácter específico (por ejemplo, el carácter A) al reducir la ventana desde la izquierda sin perder la cobertura del alfabeto?
¿Cuál es ahora la complejidad final del algoritmo después de eliminar la operación cuadrática? ¿Es correcto que el tamaño del alfabeto m no afecta en absoluto la complejidad temporal?
""" Se dispone de un conjunto de pares de ciudades: - entre cada par de ciudades, un empleado realizó un vuelo directo; - se desconoce en qué dirección se realizó el vuelo; - también se desconoce el orden de los vuelos. Se sabe que todos los vuelos corresponden a un mismo viaje. Cada siguiente vuelo comenzaba en la ciudad donde terminaba el anterior. Ninguna ciudad fue visitada por el empleado dos veces. La ciudad de inicio del viaje también es diferente del destino final. Imprime las ciudades en orden de ruta. Existen dos respuestas posibles, cualquiera es válida. Ejemplos: [("Moscú", "Belgrado")] -> ["Moscú", "Belgrado"] [(("Moscú", "Belgrado"), ("Moscú", "Ereván")) -> ["Ereván", "Moscú", "Belgrado"] """ Flight = tuple[str, str] def get_route(flights: list[Flight]) -> list[str]: ...
# a = "abc", no vacío, único # s = "dfagabfkacebf" => "aceb" # s = ""
¿Qué bases de datos u otros almacenes utilizas en tu trabajo?
¿Cuál es la cantidad máxima de solicitudes por segundo que ha procesado el servicio de mayor carga?
Se trata de una secuencia de números enteros. Es necesario encontrar el producto mínimo posible de un par de elementos de la secuencia (un par es dos elementos cualesquiera, no necesariamente consecutivos). Por ejemplo, para la secuencia de números 9 4 2 5 3, la respuesta será 6.
¿Has considerado anteriormente vacantes en [empresa], has contactado con reclutadores?