`
fly_宇光十色
  • 浏览: 64676 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

计算汉明权重

    博客分类:
  • Java
阅读更多

原题链接:#191 Number of 1 Bits

要求:

写一个函数,以一个无符号整数为参数,返回其汉明权重。例如,‘11’的二进制表示为'00000000000000000000000000001011', 故函数应当返回3。

汉明权重:指一个字符串中非零字符的个数;对于二进制串,即其中‘1’的个数。

代码如下:

 

public static int hammingWeight(int n) { 
        String str = Integer.toBinaryString(n);
        int tmp = 0;
        char[] ss = str.toCharArray();
        for(char s:ss){
         if(1 == (s-'0')){
          tmp++;
         }
        }
        return tmp;
 }

 

看到了另外一个更好的方法,学习了!

 

http://cwind.iteye.com/blog/2193686#comments

0
5
分享到:
评论
1 楼 Cwind 2015-05-22  
算法是正确的,但是创建了一个字符串对象和char数组,空间复杂度为O(n)。

相关推荐

    基于汉明距离的文本相似度计算

    ### 基于汉明距离的文本相似度计算 #### 引言 随着信息技术的快速发展,文本信息检索已成为人们获取信息的重要手段之一。在信息检索技术中,如何准确有效地衡量文本之间的相似度是非常重要的问题。传统的文本...

    hamming_weight算法.pptx

    汉明权重(Hamming Weight)算法,又称为位计数(Bit Counting)或population count,主要用于计算一个二进制数中1的个数。在计算机科学和信息处理中,这个算法具有重要的应用,例如在编码、哈希函数、数字电路设计...

    matlab_window.rar_hanning window_汉宁窗_汉明_汉明窗_矩形窗

    汉明窗则是由汉明(Richard Hamming)提出的,它的计算公式稍有不同: \[ w(n) = 0.54 - 0.46 \cos\left(\frac{2\pi n}{N-1}\right) \] 与汉宁窗相比,汉明窗在两端点的衰减更明显,中心部分的权重稍大,这进一步...

    汉明距离matlab代码-AdaLabelHash:Huei-FangYang、Cheng-HaoTu和Chu-SongChen,“通过神经网

    由于二进制表示的高效计算和压缩存储,基于学习的哈希已广泛用于大规模相似性检索。 在本文中,我们提出了 AdaLabelHash,一种通过神经网络的哈希函数学习方法。 在 AdaLabelHash 中,类标签表示在网络训练期间是可...

    Python-textsimilarity用TF特征向量和simhash指纹计算中文文本的相似度

    TF通常与IDF(逆文档频率)结合使用,以降低常见词汇的权重,但在这个特定的实现中,可能只使用了TF来简化计算。 SimHash,全称Similarity Hashing,是一种近似哈希算法,用于快速比较两个数据对象的相似性。它通过...

    权重信息不完全的区间直觉模糊数多属性决策的TOPSIS方法

    这个模型旨在获取决策方案的权重,然后通过计算与理想方案和负理想方案之间的加权海明距离(加权汉明距离),得到各方案与理想方案的相对接近度,最终对所有方案进行排序。海明距离是指两个等长字符串之间的对应位置...

    关于一种二重码

    本文介绍了一种通过子码定义的特殊二重码,并对其广义汉明权重、链性质进行了深入分析,给出了较高权重的枚举器以及这种二重码的应用。这种二重码不仅在编码理论中有重要意义,在其他数学领域也有广泛的应用前景。

    国科大计算机视觉董秋雷期末考试【非照片】

    常用的相似度度量包括欧氏距离和汉明距离等。为了提高匹配的可靠性,可以采用最近邻比值(Ratio Test)的方法来剔除可能的误匹配。 #### 二、AdaBoost算法的基本原理及实现过程(20分) **AdaBoost(Adaptive ...

    五权循环码及其权重枚举的族

    权重量分配器被定义为一个序列,其第i项代表码中具有汉明权重为i的码字数目。通过分析权重量分配器,我们可以了解码的最小距离以及纠正能力。 循环码的研究涉及到了指数和(exponential sum)和二次形式(quadratic...

    计算机与网络基础计算题.pdf

    - 校验位的计算是基于数据位的二进制权重和位置,每个校验位是对应位置数据位的异或结果。 - 发现P2和P8校验位计算错误,说明P10位有误,纠正后得到正确的数据位1001110,对应的ASCII码是1001110,即字符'N'。 4....

    Hamming网络在软件度量中的应用

    Hamming网络是计算机科学中一种用于分类的计算网络,由Lippmann在1987年提出,也被称为最大似然分类网络。它是一种竞争网络,能够根据已知各类别的中心(基准向量)来对输入模式进行分类计算,其分类方法是依据模式...

    常用距离计算汇总.doc

    但闵氏距离对各维度的权重处理相同,可能导致不同尺度的特征不等价的问题。 5. **标准化欧氏距离**:为了解决各维度尺度不一的问题,可以先对数据进行标准化处理,再计算欧氏距离。 6. **马氏距离**:马氏距离考虑...

    几种经典神经网络实现代码

    "RBFN"文件可能包含了RBF网络的实现,包括中心选择、带宽确定以及输出层权重计算等部分。 4. **反向传播网络(Backpropagation Neural Network, BPN)** 反向传播是训练多层前馈神经网络的最常用方法,它通过计算...

    一种边缘保持立体匹配方法.docx

    Census变换是一种非参数变换,通过比较窗口中心点与其他点的灰度值,构造二进制编码并计算汉明距离,以度量匹配块的相似度。 级联Census代价匹配策略在此基础上进行了创新,依次使用3*3、9*9、11*1、1*11四种不同...

    常用距离计算汇总.pdf

    然而,闵可夫斯基距离存在一个问题,即它不考虑特征的量纲和分布差异,可能导致不同特征的权重不均衡。 这些距离计算方法在分类、聚类、推荐系统等领域广泛应用,但在处理具有不同量纲或分布特征的数据时需谨慎。...

    simhash-java Java实现simhash算法的简单实现.zip

    6. **计算汉明距离**:两个SimHash值之间的汉明距离(即不同位数的数量)可以用来衡量它们的相似度。一般来说,汉明距离越小,代表两个SimHash值越接近,意味着原始文本的相似度越高。 在Java环境中实现SimHash,...

    计算机视图音乐识别(中文).docx

    在具体实施时,可以通过计算两个音频描述符之间的汉明距离,来判断它们是否足够接近,从而认为它们来源于同一音乐作品。 在实际实现部分,文档提到了进行实验装置的搭建,并对描述特征性能进行了评估。实验结果表明...

    矩阵编码1

    2. 单纯形码:作为汉明码的对偶码,具有恒重码特性,所有非零码字的汉明权重相同。这允许快速找到最近的码字,提高了解码速度,解决了随机线性码的计算复杂性问题。 总的来说,论文通过这两种新的矩阵编码方法,...

Global site tag (gtag.js) - Google Analytics