LintCode 余弦相似度题目分析代码

题目

wiki链接: Cosine Similarity 这里给出公式:

/media/problem/cosine-similarity.png

给你两个相同大小的向量 A B,求出他们的余弦相似度 返回2.0000 如果余弦相似不合法 (比如 A = [0] B = [0]).

样例 给出 A =[1, 2, 3], B =[2, 3 ,4] 返回 0.9926. 给出 A =[0], B =[0] 返回 2.0000

分析

这道题较为简单,直接计算就可以了

代码

class Solution {
    /**
     * @param A: An integer array.
     * @param B: An integer array.
     * @return: Cosine similarity.
     */
    public double cosineSimilarity(int[] A, int[] B) {
        // write your code here
                int ab=0;
        if(sumArray(A) == 0 || sumArray(B) == 0)
        {
            return 2.00000;
        }
        for(int i=0;i<A.length;i++)
        {
            ab += A[i] * B[i];
        }
        return ab/Math.sqrt(sumArray(A))/Math.sqrt(sumArray(B));
    }
    
        public double sumArray(int[] A)
    {
        int sum = 0;
        for(int i=0;i<A.length;i++)
        {
            sum += A[i] * A[i];
        }
        return sum;
    }
}

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏章鱼的慢慢技术路

Direct3D 11 Tutorial 3: Shaders and Effect System_Direct3D 11 教程3:着色器和效果系统

在上一个教程中,我们设置了一个顶点缓冲区并将一个三角形传递给GPU。 现在,我们将逐步完成图形管道并查看每个阶段的工作原理。 将解释着色器和效果系统的概念。

901
来自专栏深度学习与计算机视觉

算法-1到n中所有和为m的组合

题目: 输入两个整数 n 和 m,从数列1,2,3…….n 中随意取几个数,使其和等于 m ,要求将其中所有的可能组合列出来。 解题思路: 好未来笔试题...

2445
来自专栏数据结构与算法

51nod1004 n^n的末位数字

题目来源: Author Ignatius.L (Hdu 1061) 基准时间限制:1 秒 空间限制:131072 KB 分值: 5  难度:1级算法题 给出一...

3576
来自专栏Leetcode名企之路

【Leetcode】61.旋转链表

昨晚吃火锅吃撑了回来这道题,还算顺利~~ 链表的题目,其实就是在考指针交换,这个题目先让链表连成一个环,然后再切开就可以完成了。

1711
来自专栏数据结构与算法

狄利克雷卷积

(留坑) 数论函数 陪域:包含值域的任意集合 数论函数:定义域为正整数,陪域为复数的函数 积性函数:对于函数f(n),若存在任意互质的数a,b,使得 ,那么函...

3256
来自专栏desperate633

LintCode 矩阵的之字型遍历题目分析代码

给你一个包含 m x n 个元素的矩阵 (m 行, n 列), 求该矩阵的之字型遍历。

791
来自专栏聊聊技术

原 初学算法-分治法求平面上最近点对(Cl

58015
来自专栏C语言及其他语言

【每日一题】1426: [蓝桥杯][历届试题]九宫重排

如下面第一个图的九宫格中,放着 1~8 的数字卡片,还有一个格子空着。与空格子相邻的格子中的卡片可以移动到空格中。经过若干次移动,可以形成第二个图所示的局面...

1103
来自专栏杨熹的专栏

LEETCODE - Linked List 题目思路汇总

浏览了一下 Leetcode 上 Linked List 的题目,我把它分为 6 类: 调换顺序 删除 合并 环 变身 复制 做Leetcode还是要归类总结才...

3589
来自专栏菩提树下的杨过

“AS3.0高级动画编程”学习:第四章 寻路(AStar/A星/A*)算法 (中)

上一部分提到了节点(Node),代价(Cost),估价公式等基本概念,有了这些知识铺垫 就可以正式开启寻路之旅了! ? 如上图,这是一个5行8列的网格,黄色节点...

2596

扫码关注云+社区

领取腾讯云代金券