力扣面试题 05.06. 整数转换(位运算)

Problem: 面试题 05.06. 整数转换

文章目录

题目描述

思路及解法

1.通过将两个数进行异或 操作求出两个数中不同的位(不同的位异或后为二进制1);

2.统计异或后不同的位的个数(即异或后二进制为1的个数)

复杂度

时间复杂度:

O ( 1 ) O(1) O(1)

空间复杂度:

O ( 1 ) O(1) O(1)

Code

cpp 复制代码
class Solution {
public:
    /**
     * Bit operation
     * @param A Given number
     * @param B Given number
     * @return int
     */
    int convertInteger(int A, int B) {
        int c = A ^ B;
        int diffCount = 0;
        int mask = 1;
        for (int i = 0; i < 32; ++i) {
            if ((c & mask) != 0) {
                diffCount++;
            }
            mask <<= 1;
        }
        return diffCount;
    }
};
相关推荐
报错小能手33 分钟前
刷题日常 5 二叉树最大深度
算法
Greedy Alg1 小时前
LeetCode 84. 柱状图中最大的矩形(困难)
算法
im_AMBER1 小时前
Leetcode 52
笔记·学习·算法·leetcode
小欣加油1 小时前
leetcode 946 验证栈序列
c++·算法·leetcode·职场和发展
包饭厅咸鱼2 小时前
PaddleOCR----制作数据集,模型训练,验证 QT部署(未完成)
算法
无敌最俊朗@2 小时前
C++ 并发与同步速查笔记(整理版)
开发语言·c++·算法
王哈哈^_^2 小时前
【完整源码+数据集】课堂行为数据集,yolo课堂行为检测数据集 2090 张,学生课堂行为识别数据集,目标检测课堂行为识别系统实战教程
人工智能·算法·yolo·目标检测·计算机视觉·视觉检测·毕业设计
测试19982 小时前
Appium使用指南与自动化测试案例详解
自动化测试·软件测试·python·测试工具·职场和发展·appium·测试用例
夏鹏今天学习了吗2 小时前
【LeetCode热题100(66/100)】寻找两个正序数组的中位数
算法·leetcode·职场和发展