Cosine Similarity

EasyAlgo
05:00
Лучше работает на десктопе
DSLinear AlgebraNumPy

Вычислите косинусное сходство (cosine similarity) между двумя векторами.

Формула

cos(A, B) = (A · B) / (||A|| × ||B||)

где A · B — скалярное произведение, ||A|| — евклидова норма.

Сигнатура

def cosine_similarity(a: list[float], b: list[float]) -> float:

Примеры

cosine_similarity([1, 0, 0], [0, 1, 0]) → 0.0
cosine_similarity([1, 2, 3], [1, 2, 3]) → 1.0
cosine_similarity([1, 1], [-1, -1]) → -1.0

Результат округлите до 4 знаков после запятой.

Constraints

- 1 ≤ len(A) = len(B) ≤ 10⁴
- -10³ ≤ A[i], B[i] ≤ 10³
- Векторы ненулевые

Примеры

Пример 1

Вход:
a = [1,0,0]
b = [0,1,0]
Выход:0

Пример 2

Вход:
a = [1,2,3]
b = [1,2,3]
Выход:1

Пример 3

Вход:
a = [1,1]
b = [-1,-1]
Выход:-1
Консоль
Нажмите Run или Ctrl+Enter для запуска