C汉明距离

在信息论中,两个等长字符串之间的汉明距离是两个字符串对应位置的字符不同的个数。

 1 #include <stdio.h>
 2 /*给定两个字符串,求两个字符串的汉明距离*/
 3 int hamming_distance(char *s1, char *s2)
 4 {
 5     int i;
 6     int distance = 0;
 7     for(i=0;s1[i] && s2[i];i++)
 8     {
 9         if(s1[i]!=s2[i])
10             distance++;
11     }
12     while(s1[i])
13     {
14         distance++;
15         i++;
16     }
17     while(s2[i])
18     {
19         distance++;
20         i++;
21     }
22     return distance;
23 }
24
25 int main()
26 {
27     char *s1 = "0100";
28     char *s2 = "1100";
29     printf("%d\n",hamming_distance(s1,s2));
30     return 0;
31 }
时间: 2024-10-31 06:24:51

C汉明距离的相关文章

相似算法 ,Java实例9 - 汉明距离 Hamming Distance

Java实例9 - 汉明距离 Hamming Distance http://blog.csdn.net/kindterry/article/details/6581344 /**在信息理论中,两个等长字符串之间的汉明距离 * 是两个字符串对应位置上不同字符的个数, * 换句话说,汉明距离就是将一个字符串替换成另外一个字符串所需要替换的字符长度. *例如,1011101和1001001之间的汉明距离是2, *toned和roses之间的汉明距离是3. *汉明重量是字符串相对于同样长度的零字符串的

从0开始的LeetCode生活—461-Hamming Distance(汉明距离)

题目: The Hamming distance between two integers is the number of positions at which the corresponding bits are different. Given two integers x and y, calculate the Hamming distance. Note: 0 ≤ x, y < 231. Example: Input: x = 1, y = 4 Output: 2 Explanati

[LeetCode] Hamming Distance 汉明距离

The Hamming distance between two integers is the number of positions at which the corresponding bits are different. Given two integers x and y, calculate the Hamming distance. Note:0 ≤ x, y < 231. Example: Input: x = 1, y = 4 Output: 2 Explanation: 1

Atitti knn实现的具体四个距离算法 欧氏距离、余弦距离、汉明距离、曼哈顿距离

Atitti knn实现的具体四个距离算法  欧氏距离.余弦距离.汉明距离.曼哈顿距离 1. Knn算法实质就是相似度的关系1 1.1. 文本相似度计算在信息检索.数据挖掘.机器翻译.文档复制检测等领域有着广泛的应用1 2. 汉明距离1 2.1. 历史及应用1 3. 曼哈顿距离2 3.1. SimHash + 汉明距离3 3.2. .简单共有词4 1. Knn算法实质就是相似度的关系 1.1. 文本相似度计算在信息检索.数据挖掘.机器翻译.文档复制检测等领域有着广泛的应用 数据挖掘的过程中,只用

用汉明距离进行图片相似度检测的Java实现

根据Neal Krawetz博士的解释,原理非常简单易懂.我们可以用一个快速算法,就达到基本的效果. 这里的关键技术叫做"感知哈希算法"(Perceptual hash algorithm),它的作用是对每张图片生成一个"指纹"(fingerprint)字符串,然后比较不同图片的指纹.结果越接近,就说明图片越相似. 下面是一个最简单的实现: 第一步,缩小尺寸. 将图片缩小到8x8的尺寸,总共64个像素.这一步的作用是去除图片的细节,只保留结构.明暗等基本信息,摒弃不

编辑距离及汉明距离的php实现

在计算字符串或图形的相似度时,常用的两个算法,一个是编辑距离,另一个是汉明距离. 简单点说: 编辑距离是通过几次编辑能把一个字符串变成另一个字符串 汉明距离是对应位置进行比较,找出不同的字符个数 想了解详情的请自行搜索. 以下是他们的php代码实现. <?php /**  * 计算编辑距离  *  * @param string $s1  * @param string $s2  */ function levDist($s1, $s2) {     $len1 = strlen($s1);  

477 Total Hamming Distance 汉明距离总和

两个整数的 汉明距离 指的是这两个数字的二进制数对应位不同的数量.计算一个数组中,任意两个数之间汉明距离的总和.示例:输入: 4, 14, 2输出: 6解释: 在二进制表示中,4表示为0100,14表示为1110,2表示为0010.(这样表示是为了体现后四位之间关系)所以答案为:HammingDistance(4, 14) + HammingDistance(4, 2) + HammingDistance(14, 2) = 2 + 2 + 2 = 6.注意:    数组中元素的范围为从 0到 1

统计二进制中1的个数(LeetCode 461. 汉明距离 or LeetCode 191. 位1的个数)

题目一 LeetCode 461.明距离(Hamming Distance) 两个整数之间的汉明距离指的是这两个数字对应二进制位不同的位置的数目.给出两个整数 x 和 y,计算它们之间的汉明距离. 注意 0 ≤ x , y < 231. 原文地址:https://www.cnblogs.com/hglibin/p/8984777.html

461.汉明距离(c++实现)

问题描述: 两个整数之间的汉明距离指的是这两个数字对应二进制位不同的位置的数目. 给出两个整数 x 和 y,计算它们之间的汉明距离. 注意:0 ≤ x, y < 231. 示例: 输入: x = 1, y = 4 输出: 2 解释: 1 (0 0 0 1) 4 (0 1 0 0) ↑ ↑ 上面的箭头指出了对应二进制位不同的位置.实现方法: class Solution { public: int hammingDistance(int x, int y) { int count=0; vecto