LintCode 1218. 补数 JavaScript算法

tech2023-10-10  94

描述

给定一个正整数,输出它的补数。补数是将原先数字的二进制表示按位取反,再换回十进制后得到的新数。

说明

给定的整数保证在32位有符号整数的范围内。假设一个正整数的二进制表示不包含前导零。

样例

- 样例1: 输入:5 输出:2 说明:5的二进制表示为101(不包含前导零),它的补数为010,因此你需要输出2- 样例2: 输入:1 输出:0 说明:1的二进制表示为1(不包含前导零),它的补数为0,因此你需要输出0

解析

补数是二进制中的概念

findComplement=num=>parseInt(num.toString(2).replace(/0/g,'2').replace(/1/g,'0').replace(/2/g,'1'),2)

运行结果

最新回复(0)