
位运算
Thexin.
不愿付诸行动,却又想登峰造极。
展开
-
Leetcode--342. 4的幂
给定一个整数 (32 位有符号整数),请编写一个函数来判断它是否是 4的幂次方。示例 1:输入: 16输出: true示例 2:输入: 5输出: false进阶:你能不使用循环或者递归来完成本题吗?方法一:class Solution { public boolean isPowerOfFour(int num) { while(num%4=...原创 2019-10-26 11:26:10 · 115 阅读 · 0 评论 -
Leetcode--260. 只出现一次的数字Ⅲ
给定一个整数数组nums,其中恰好有两个元素只出现一次,其余所有元素均出现两次。 找出只出现一次的那两个元素。示例 :输入: [1,2,1,3,2,5]输出: [3,5]注意:结果输出的顺序并不重要,对于上面的例子,[5, 3]也是正确答案。你的算法应该具有线性时间复杂度。你能否仅使用常数空间复杂度来实现?思路:1.对所有数字异或,一样的数字抵消,出现一次的两个数字...原创 2019-10-26 11:02:03 · 180 阅读 · 0 评论 -
Leetcode--268. 缺失数字
给定一个包含 0, 1, 2, ..., n中n个数的序列,找出 0 .. n中没有出现在序列中的那个数。示例 1:输入: [3,0,1]输出: 2示例2:输入: [9,6,4,2,3,5,7,0,1]输出: 8说明:你的算法应具有线性时间复杂度。你能否仅使用额外常数空间来实现?方法一:求出所有的,减去现在的,就是缺失的那个值class Solution {...原创 2019-10-26 10:55:53 · 130 阅读 · 0 评论 -
Leetcode--397. 整数替换
给定一个正整数n,你可以做如下操作:1. 如果n是偶数,则用n / 2替换n。2. 如果n是奇数,则可以用n + 1或n - 1替换n。n变为 1 所需的最小替换次数是多少?示例 1:输入:8输出:3解释:8 -> 4 -> 2 -> 1示例 2:输入:7输出:4解释:7 -> 8 -> 4 -&g...原创 2019-10-25 22:24:39 · 194 阅读 · 0 评论 -
Leetcode--231. 2的幂
给定一个整数,编写一个函数来判断它是否是 2 的幂次方。示例1:输入: 1输出: true解释: 20= 1示例 2:输入: 16输出: true解释: 24= 16示例 3:输入: 218输出: false菜鸡方法:class Solution { public boolean isPowerOfTwo(int n) { int...原创 2019-10-25 20:20:53 · 116 阅读 · 0 评论 -
Leetcode--461. 汉明距离
两个整数之间的汉明距离指的是这两个数字对应二进制位不同的位置的数目。给出两个整数 x 和 y,计算它们之间的汉明距离。注意:0 ≤ x, y < 231.示例:输入: x = 1, y = 4输出: 2解释:1 (0 0 0 1)4 (0 1 0 0) ↑ ↑上面的箭头指出了对应二进制位不同的位置。思路:1. 取x,y的二进...原创 2019-10-24 21:50:41 · 161 阅读 · 0 评论 -
Leetcode--190. 颠倒二进制位
颠倒给定的 32 位无符号整数的二进制位。示例 1:输入: 00000010100101000001111010011100输出: 00111001011110000010100101000000解释: 输入的二进制串 00000010100101000001111010011100 表示无符号整数 43261596, 因此返回 964176192,其二进制表示形式为...原创 2019-10-24 21:39:50 · 118 阅读 · 0 评论 -
Leetcode--191. 位1的个数
编写一个函数,输入是一个无符号整数,返回其二进制表达式中数字位数为 ‘1’的个数(也被称为汉明重量)。示例 1:输入:00000000000000000000000000001011输出:3解释:输入的二进制串 00000000000000000000000000001011中,共有三位为 '1'。示例 2:输入:0000000000000000000000001000...原创 2019-10-23 16:28:19 · 283 阅读 · 0 评论 -
位运算
什么是位运算?程序中的所有数在计算机内存中都是以二进制的形式储存的。位运算说穿了,就是直接对整数在内存中的二进制位进行操作。C++提供了6种位运算符来进行位运算操作:& 按位与| 按位或^ 按位异或~ 按位取反<< 左移(左边消失,右边补0)>> 右移(右边消失,左边补符号位)位运算的操作...转载 2019-10-23 11:24:47 · 476 阅读 · 0 评论