力扣面试题 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;
    }
};
相关推荐
simple_ssn23 分钟前
【C语言刷力扣】1502.判断能否形成等差数列
c语言·算法·leetcode
寂静山林32 分钟前
UVa 11855 Buzzwords
算法
Curry_Math36 分钟前
LeetCode 热题100之技巧关卡
算法·leetcode
ahadee44 分钟前
蓝桥杯每日真题 - 第10天
c语言·vscode·算法·蓝桥杯
军训猫猫头1 小时前
35.矩阵格式的一到一百数字 C语言
c语言·算法
Mr_Xuhhh2 小时前
递归搜索与回溯算法
c语言·开发语言·c++·算法·github
SoraLuna2 小时前
「Mac玩转仓颉内测版12」PTA刷题篇3 - L1-003 个位数统计
算法·macos·cangjie
爱吃生蚝的于勒4 小时前
C语言内存函数
c语言·开发语言·数据结构·c++·学习·算法
吾店云建站8 小时前
WordPress 6.7 “Rollins”发布
科技·程序人生·职场和发展·创业创新·程序员创富
ChoSeitaku10 小时前
链表循环及差集相关算法题|判断循环双链表是否对称|两循环单链表合并成循环链表|使双向循环链表有序|单循环链表改双向循环链表|两链表的差集(C)
c语言·算法·链表