5 篇
位运算专区
题目描述 哎呀,咱来翻译下题面~给你两个用字符串表示的二进制数 a 和 b,返回它们相加之后、同样用二进制字符串表示的结果。 输入只含 '0' 和 '1',而且除了 "0" 本身之外,开头不会有多余的前导零。 思路 咱第一眼看,这题别被"二进制"三个字唬住——它本质就是小学的竖式加法,只不过逢二进一而已。 既然是竖式,
题目描述 哎呀,这题别被名字唬住——给你两个整数 left 和 right,表示一个区间 [left, right](两端都算)。咱要返回的,是把这个区间里每一个整数全部 按位与 起来的结果。 举个例子,[5, 7] 就是 5 & 6 & 7。数字一多,挨个去与显然不现实,得找点规律。 思路 咱第一眼看,按位与有个很"
题目描述 欸,这题听着就带感——颠倒给定的 32 位整数的二进制位。也就是说,把这个数当成一串 32 位的 0/1,然后整串首尾翻转:原来的第 0 位变成第 31 位,第 1 位变成第 30 位,以此类推,再把翻转后的二进制读成一个新数返回。 思路 咱第一眼看,这题的关键词是"逐位搬运"。既然要把低位翻到高位,那就一位
题目描述 哎呀,这题名字怪可爱的——"位 1 的个数"。给你一个正整数 n,把它写成二进制后,数一数里头有多少个 1,返回这个数量就行。这个值还有个学名叫汉明重量(Hamming Weight)。 思路 咱第一眼看,这题就是"逐位检查"的活儿:把 n 的二进制位一个个看过去,是 1 就记一笔。 每一轮干两件事: n
题目描述 哎呀,这题听着就有点绕——给你一个整数数组 nums,里头除了某一个元素只出现 一次,其余每个元素都恰好出现 三次。咱要做的,就是把那个落单的家伙找出来返回。 而且题目还提了俩硬条件:时间得是 线性 的、空间只能用 常数级。也就是说,拿哈希表数次数那种 $O(n)$ 空间的偷懒办法,这回行不通哦。 思路 咱第