LintCode Q445 Cosine Similarity in Python

  • Jinhai ZHOU
  • 3 Minutes
  • 2017年2月13日
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
import math
class Solution:
"""
@param A: An integer array.
@param B: An integer array.
@return: Cosine similarity.
"""
def cosineSimilarity(self, A, B):
# write your code here
if len(A) != len(B):
return 2.0
square_sum_A = 0.0
square_sum_B = 0.0
product_sum = 0.0
for i in xrange(len(A)):
product_sum += float(A[i] * B[i])
square_sum_A += A[i] ** 2
square_sum_B += B[i] ** 2
if square_sum_A == 0.0 or square_sum_B == 0.0:
return 2.0
return product_sum/(math.sqrt(square_sum_A) * math.sqrt(square_sum_B))
知识共享许可协议
本作品采用知识共享署名-相同方式共享 4.0 国际许可协议进行许可。