LeetCode Number Complement

2023-11-14

class Solution {
public:
    int findComplement(int num) {
        int temp, i=1, j;
        temp = num;
        while (temp != 0){
            temp /= 2;
            i *= 2;
        }
        j = i - 1 - num;
        return j;
    }
};

temp/2相当左移,用i来记录左移多少次,乘以多少个2,再减一相当于111….11这样的形式,而取反则是每一位用1减,刚好用111…1111 减去 num 为取反的值。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

LeetCode Number Complement 的相关文章

  • 2021-02-22

    MFC GDI对象累计问题 我遇到的情况是 运行MFC程序一段时间后 发现界面出现变白 卡死情况 通过查看 任务管理器 详细信息 在状态栏任意处单击右键 选择 选择列 gt GDI对象 如果GDI对象值一直在增加 则说明你的界面窗口中GDI
  • 【华为OD机试】最长公共后缀(Java & JS & Python)

    时间限制 C C 1秒 其他语言 2秒 空间限制 C C 262144K 其他语言524288K 64bit IO Format lld 语言限定 C clang11 C clang 11 Pascal fpc 3 0 2 Java jav

随机推荐