注意:C的math.h头文件中的pow(a,b)中,b应该是小数,不能是1/2这样的分数(或者是1.0/2.0也行)。
C++代码:
class Solution {
public:
/**
* @param A: An integer array.
* @param B: An integer array.
* @return: Cosine similarity.
*/
double cosineSimilarity(vector<int> A, vector<int> B) {
int len = A.size();
long long fenzi =0;
long long a=0,b=0;
for(int i = 0; i<len; i++){
fenzi += A[i]*B[i];
a += A[i]*A[i];
b += B[i]*B[i];
}
if (a==0 || b ==0)
return 2.0000;
double aa = pow(a,0.5);
double bb = pow(b,0.5);
double result = fenzi / (aa * bb);
return result;
}
};