1.问题描述:
Cosine similarity is a measure of similarity between two vectors of an inner product space that measures the cosine of the angle between them. The cosine of 0° is 1, and it is less than 1 for any other angle.
See wiki: Cosine Similarity
Here is the formula:
Given two vectors A and B with the same size, calculate the cosine similarity.
Return 2.0000
if cosine similarity is invalid (for example A = [0] and B = [0]).
2.样例:
给出 A = [1, 2, 3]
, B = [2, 3 ,4]
.
返回 0.9926.
给出 A = [0]
, B = [0]
.
返回 2.0000
3.代码:
class Solution:
"""
@param: A: An integer array
@param: B: An integer array
@return: Cosine similarity
"""
def cosineSimilarity(self, A, B):
# write your code here
length=len(A)
molecule=0
donominator1=0
donominator2=0
fg=False
for i in range(length):
if (A[i] or B[i]) and fg==False:
fg=True
molecule+=A[i]*B[i]
donominator1+=A[i]*A[i]
donominator2+=B[i]*B[i]
if fg:
ans=molecule/((donominator1**0.5)*(donominator2**0.5))
return ans
else:
return 2