美文网首页
汉明距离——还是求1的个数(二)

汉明距离——还是求1的个数(二)

作者: 旺叔叔 | 来源:发表于2018-11-23 15:54 被阅读0次

LeetCode_338_CountingBits

题目分析:

当然可以利用上题方法逐个求解。
题目提示我们思考能否利用已有结论进行推论。
其实就是dp了。
到数字i的时候,我们存储所有i之前的结果,尝试利用这些结果推导出i的值。
利用上一题结论,i & (i - 1) 正好是一个比i小,且比i少一个1的值。
写出方程就是:dp[i] = dp[i & (i - 1)] + 1

解法:

public static int[] countBits(int num) {
    int []res = new int[num + 1];
    for (int i = 1; i <= num; ++i) {
        res[i] = res[i & (i - 1)] + 1;
    }
    return res;
}

相关文章

  • 汉明距离——还是求1的个数(二)

    LeetCode_338_CountingBits 题目分析: 解法:

  • 汉明距离——求1的个数(一)

    LeetCode_191_NumberOf1Bits 题目分析: 解法:

  • python3 求汉明距离

    1. leetcode 461 求2个数字之间的汉明距离 这种写法其实的最好的:return bin(x ^ y)...

  • [LeetCode]461. Hamming Distance

    为了锻炼算法能力又开始做题了,还是先从LeetCode的Easy下手。这个题要我们求两个数的汉明距离,其实看起来很...

  • LeetCodeDay30 —— 汉明距离★

    461. 汉明距离 描述 两个整数之间的汉明距离指的是这两个数字对应二进制位不同的位置的数目。 给出两个整数 x ...

  • Swift 汉明距离 - LeetCode

    题目: 汉明距离 两个整数之间的汉明距离指的是这两个数字对应二进制位不同的位置的数目。 给出两个整数 x 和 y...

  • [LeetCode]461. 汉明距离

    461. 汉明距离两个整数之间的汉明距离指的是这两个数字对应二进制位不同的位置的数目。给出两个整数 x 和 y,计...

  • 461-汉明距离

    汉明距离 题目 两个整数之间的汉明距离指的是这两个数字对应二进制位不同的位置的数目。 给出两个整数 x 和 y,计...

  • LeetCode题解之汉明距离

    汉明距离 题目描述 两个整数之间的汉明距离指的是这两个数字对应二进制位不同的位置的数目。 给出两个整数 x 和 y...

  • 461. 汉明距离

    两个整数之间的汉明距离指的是这两个数字对应二进制位不同的位置的数目。给出两个整数x和y,计算它们之间的汉明距离。注...

网友评论

      本文标题:汉明距离——还是求1的个数(二)

      本文链接:https://www.haomeiwen.com/subject/rsbjqqtx.html