https://leetcode-cn.com/problems/convert-integer-lcci/
难度简单8收藏分享切换为英文关注反馈
整数转换。编写一个函数,确定需要改变几个位才能将整数A转成整数B。
示例1:
输入:A = 29 (或者0b11101), B = 15(或者0b01111) 输出:2
示例2:
输入:A = 1,B = 2 输出:2
提示:
- A,B范围在[-2147483648, 2147483647]之间
执行用时:84 ms, 在所有 JavaScript 提交中击败了23.46%的用户
内存消耗:36.9 MB, 在所有 JavaScript 提交中击败了88.89%的用户
/**
* @param {number} A
* @param {number} B
* @return {number}
*/
var convertInteger = function (A, B) {
var n = 0;
var ans = A ^ B;
while (ans) {
if (ans & 1) {
n++
}
ans >>>= 1;
}
return n;
};
整数转换算法解析
本文详细解析了一种用于确定将整数A转换为整数B所需改变位数的算法。通过示例展示如何使用异或运算和位移操作计算两个整数间的不同位数,适用于面试题05.06.整数转换。
410

被折叠的 条评论
为什么被折叠?



