К собеседованиям
Kuper

Алгоритмический тренажер

Алгоритмическая секция в Kuper

Тип тренировки
Алгоритмы
Задач
2
Компания
Kuper
Дата
2025-11-24
Задача 1MediumХеш-таблицаРазреженный векторООП

Разреженный вектор и эффективное скалярное произведение

Реализуйте класс SparseVector для разреженных векторов.

Конструктор получает длину вектора и список пар [index, value]. Нулевые значения хранить не нужно. Метод dot(other) должен вернуть скалярное произведение двух векторов и работать по меньшему числу ненулевых координат.

В тренажере используется wrapper sparse_vector_dot: он создает два вектора и вызывает dot. Если длины векторов различаются, wrapper должен вернуть строку "length_mismatch".

Сигнатура

def sparse_vector_dot(length_a: int, values_a: list[list[int]], length_b: int, values_b: list[list[int]]) -> int:

Ваше решение

Консоль
Нажмите «Запустить проверки» или Ctrl+Enter
Задача 2MediumПрефиксное произведениеМассивы

Произведение всех элементов кроме текущего

Дан список чисел nums. Для каждой позиции верните произведение всех элементов массива, кроме элемента на этой позиции.

Деление использовать нельзя. Нужно корректно обработать нули.

Сигнатура

def products_except_self(nums: list[int]) -> list[int]:

Ваше решение

Консоль
Нажмите «Запустить проверки» или Ctrl+Enter