当前位置:   article > 正文

leetcode-hot00-位运算_leetcode hot00

leetcode hot00

461. 汉明距离 - 力扣(LeetCode) (leetcode-cn.com)

  • 思路:
  1. 循环固定取满32
  2. 本身不改变x和y,每次取不同的偏移位进行比较,不同就加1。
  • 代码:

    class Solution {
        public int hammingDistance(int x, int y) {
            int res = 0;
            for(int i = 0; i < 32; i++){
                int a = (x >> i) & 1, b = (y >> i) & 1;
                res += a ^ b;
            }
            return res;
        }
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10

136. 只出现一次的数字 - 力扣(LeetCode) (leetcode-cn.com)

  • 思路:
  1. 进行异或运算,相等的异或为0,不相等为1。
  2. 2的二进制数为10,那么2^2=10^10=00
  • 代码:

    class Solution {
        public int singleNumber(int[] nums) {
            int eor = 0;
            for(int i = 0; i < nums.length; i++){
                eor ^= nums[i];
            }
            return eor;
        }
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
声明:本文内容由网友自发贡献,转载请注明出处:【wpsshop】
推荐阅读
相关标签
  

闽ICP备14008679号