力扣面试题 27 - 整数转换

题目:

整数转换。编写一个函数,确定需要改变几个位才能将整数A转成整数B。

示例1:

复制代码
 输入:A = 29 (或者0b11101), B = 15(或者0b01111)
 输出:2

示例2:

复制代码
 输入:A = 1,B = 2
 输出:2

提示:

  1. A,B范围在[-2147483648, 2147483647]之间

思路:

  1. 可以用异或找出有多少个不同的位。(相同为0,不同为1)
  2. 再统计1的个数,即得出有多少个不同的位

C代码如下:

cpp 复制代码
int convertInteger(int A, int B) {
    int num = A ^ B;  // 计算A和B的异或结果
    int cnt = 0;
    for (int i = 0; i < 32; i++) {
        if (num & 1) {  // 如果当前最低位是1,说明该位不同
            cnt++;
        }
        num = num >> 1;  // 右移一位
    }
    return cnt;  // 返回不同的位数
}

此题比较简单,没啥好说的~

相关推荐
谈笑也风生11 小时前
经典算法题型之排序算法(三)
java·算法·排序算法
大佬,救命!!!12 小时前
对算子shape相关的属性值自动化处理
python·算法·自动化·学习笔记·算子·用例脚本·算子形状
高山上有一只小老虎12 小时前
小红的推荐系统
java·算法
冰西瓜60012 小时前
贪心(一)——从动态规划到贪心 算法设计与分析 国科大
算法·贪心算法·动态规划
javachen__12 小时前
341-十道经典程序设计题目
数据结构·c++·算法
natide13 小时前
表示/嵌入差异-7-间隔/边际对齐(Alignment Margin)
人工智能·深度学习·算法·机器学习·自然语言处理·知识图谱
在风中的意志13 小时前
[数据库SQL] [leetcode-584] 584. 寻找用户推荐人
数据库·sql·leetcode
毅炼13 小时前
hot100打卡——day08
java·数据结构·算法·leetcode·深度优先
l1t13 小时前
DeepSeek总结的算法 X 与舞蹈链文章
前端·javascript·算法
gihigo199813 小时前
水声信号处理中DEMON谱分析的原理、实现与改进
算法·信号处理