问题来源于
http://weibo.com/1748374882/yavpCkc31
问题:有两个字符串 A 和 B,如何简单高效的判断 A 和 B 的相似度?A 和 B 完全一样,相似度为 100, A 和 B 完全不一样,相似度为 0. A 和 B 中有一半文字相同,相似度为 50. 依此类推。文字中包含中英文,空白字符也算。哪位用 JS 挑战下?性能第一,代码长短无所谓。
function compare(x, y) {
var z = 0;
var s = x.length + y.length;;
x.sort();
y.sort();
var a = x.shift();
var b = y.shift();
while(a !== undefined && b !== undefined) {
if (a === b) {
z++;
a = x.shift();
b = y.shift();
} else if (a < b) {
a = x.shift();
} else if (a > b) {
b = y.shift();
}
}
return z/s * 200;
}
console.log(compare(['123', '中文', 'hello'], ['123', '中文', 'hello']))
console.log(compare(['123', '中文', 'hello'], ['123', '中文', 'hello'].sort()))
console.log(compare(['123', '中文', 'hello'], ['123', '中文', 'hello'].reverse()))
console.log(compare(['123', '中文', 'hello','中2文'], ['12', '中2文', '123','中文3']))
console.log(compare(['123', '中文', 'hello'], ['中文', 'world', '456']))
console.log(compare(['123', '中3文', 'hello'], ['中文', 'world', '汉字']))
分享到:
相关推荐
该软件包包含一些函数,用于获取两个字符串或两个对象之间的相似度(相似度,相似度)。 所使用的算法实际上非常简单:它不区分大小写levenshtein距离,并且也忽略非字母数字字符(例如空格,破折号,点等)。 ...
根据找到两个字符串之间的相似度,该相似度通常比要好。 目录 用法 对于Node.js 安装使用: npm install string-similarity --save 在您的代码中: var stringSimilarity = require ( "string-similarity" ) ;...
比较两个字符串的相似度 例子: var str1 = 'Continuous Integration Your Hexo Blog With Travis CI' ; var str2 = 'Continuous Integration Your Hexo Blog With Travis' ; var similar = require ( './index.js...
比较两个base64编码的字符串并返回比较结果 这是在ASP中实现的简单api。 网络API 2。 它包含三个端点: PUT baseurl / v1 / diff / 1 /向左 PUT / v1 / diff / 1 /向左GET / v1 / diff / 1 前两个PUT端点正在...
本文分享JavaScript中两个字符串的匹配的一个实例代码,希望能给大家做一个参考。
命令行输入两个txt文件的绝对路径,计算相似度,写进txt文件
由于存在几种不同的流派,因此该算法考虑了基于字符串相似度的流派有多相似。 匹配后,他们可以使用Web套接字彼此实时聊天。 所用的时间: 1个月 使用的技术: ReactJS 节点JS WebSockets(Socket.io) MySQL ...
快速骰子系数 最快实现。 与其他解决方案(,等)相反,该实现具有线性时间复杂度O(n),它们在二次时间O(n 2 )中运行。 该算法可用于计算字符串之间的相似度。...字符串相似度 7,590 natural.Di
实例046 比较两个时间戳的大小 77 实例047 使用条件运算符判断数字的奇偶性 78 实例048 判断用户是否具有后台管理权限 79 实例049 打印随机组合生日祝福语 80 实例050 打印2000~2020年的所有闰年 81 实例051 前置...
实例112 验证两个文本框的值是否相等 168 实例113 验证输入的文本是否为汉字 170 实例114 限制输入字符串的长度 171 实例115 验证字符串是否以指定字符串开头 172 实例116 验证身份证号码 174 实例117 ...
京东与1688项目两个项目具有极高的相似度,我首先写的京东爬虫,再写的1688爬虫,1688爬虫基于京东爬虫的构建思路,因此1688爬虫会比京东爬虫更深入,两者也会有一些重复的部分。 1、selenium反侦察。通过自动化...
实例046 比较两个时间戳的大小 77 实例047 使用条件运算符判断数字的奇偶性 78 实例048 判断用户是否具有后台管理权限 79 实例049 打印随机组合生日祝福语 80 实例050 打印2000~2020年的所有闰年 81 实例051 前置...
实例046 比较两个时间戳的大小 77 实例047 使用条件运算符判断数字的奇偶性 78 实例048 判断用户是否具有后台管理权限 79 实例049 打印随机组合生日祝福语 80 实例050 打印2000~2020年的所有闰年 81 实例051 前置...
可以使用以下参数来配置对齐器(所有这些参数都是可选的): similarityScoreFunction :以两个字符(字符串)作为输入,并返回相似度得分(整数)。 gapScoreFunction : Smith-Waterman:将一个正整数作为输入...