
位运算
你来地球有什么目的
学习就要开心学
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
位运算解决子集问题
题目来源:力扣(LeetCode)思路来源LeetCode 78. 子集题目给定一组不含重复元素的整数数组 nums,返回该数组所有可能的子集(幂集)。说明:解集不能包含重复的子集。输入: nums = [1,2,3]输出:[[3],[1],[2],[1,2,3],[1,3],[2,3],[1,2],[]]思路简述用 0 和 1 来代表每位数选还是不选,对于三个数字的子集个数, 就是从 0 到 111 即(1000 - 1)的个数, 判断每位数是否是 1 ,判断原创 2020-06-09 14:33:08 · 377 阅读 · 0 评论 -
位运算小技巧【奇偶位交换】
来源:力扣(LeetCode)链接:面试题 05.07. 配对交换题目配对交换。编写程序,交换某个整数的奇数位和偶数位,尽量使用较少的指令(也就是说,位0与位1交换,位2与位3交换,以此类推)。示例1:输入:num = 2(或者0b10)输出 1 (或者 0b01)示例2:输入:num = 3输出:3提示:num的范围在[0, 2^30 - 1]之间,不会发生整数溢出。知识点: 偶数位为1,奇数位为00xaaaaaaaa = 10101010101010101原创 2020-05-21 20:58:56 · 586 阅读 · 0 评论 -
快速幂的初步认识
前言:今天做了一道题,可以用快速幂很好地实现,因为初次接触快速幂,刚开始比较懵圈,现在理解了一下,记录一下小白的心路历程。————————bui~~快速幂首先快速幂是什么呢,通俗来说,就是利用位运算实现一个数的 n 次幂举例:以 a 的 10 次幂为例如果通过连乘来求,则需要 10 次运算, 而通过快速幂,我们只需要运算 4 次,也就是二进制位数次的运算但是这是怎么算的呢?其实我刚开始有些疑惑,这里说一下:首先,要知道幂次的二进制有什么含义,从上面的例子可以看到当二进制的当前位为 0原创 2020-05-09 15:49:21 · 184 阅读 · 0 评论 -
[消失的数字] 还能用位运算解决?
来源:力扣(LeetCode)链接:面试题 17.04. 消失的数字题目数组nums包含从0到n的所有整数,但其中缺了一个。请编写代码找出那个缺失的整数。你有办法在O(n)时间内完成吗?注意:本题相对书上原题稍作改动输入:[3,0,1]输出:2输入:[9,6,4,2,3,5,7,0,1]输出:8题目解析首先了解题目大意:0 — n 中少了一个数字,让我们求出我现...原创 2020-04-30 17:47:29 · 316 阅读 · 0 评论 -
初步认识java中的移位运算符
来源:力扣(LeetCode)链接:面试题 05.01. 插入有关移位运算符左移运算符:<<不区分正负数,左移之后在右边补0, 相当于num乘以2public class test { public static void main(String[] args) { int A = 8; System.out.println("A : " + Integer....原创 2020-04-29 22:43:50 · 190 阅读 · 0 评论 -
数组中有两个数字仅出现一次(神奇的位运算)
来源:力扣(LeetCode)链接:面试题56 - I. 数组中数字出现的次数题目一个整型数组 nums 里除两个数字之外,其他数字都出现了两次。请写程序找出这两个只出现一次的数字。要求时间复杂度是O(n),空间复杂度是O(1)。输入:nums = [4,1,4,6]输出:[1,6] 或 [6,1]输入:nums = [1,2,10,4,1,4,3,3]输出:[2,...原创 2020-04-28 11:26:17 · 343 阅读 · 0 评论 -
只出现一次的数字(位运算java)
来源:力扣(LeetCode)链接:136. 只出现一次的数字题目给定一个非空整数数组,除了某个元素只出现一次以外,其余每个元素均出现两次。找出那个只出现了一次的元素。说明:你的算法应该具有线性时间复杂度。 你可以不使用额外空间来实现吗?输入: [2,2,1]输出: 1输入: [4,1,2,1,2]输出: 4题目解析首先,我们可以想到这个题目可以通过使用哈希表计数...原创 2020-04-28 09:41:13 · 364 阅读 · 0 评论 -
位运算解决:两字符串是否有重合部分
声明:小白总结,本意是记录自己的思路,不过希望能帮助别人,那就更好啦,若发现问题,欢迎指正,感谢!!来源:力扣(LeetCode)链接:318.最大单词长度乘积题目给定一个字符串数组 words找到 length(word[i]) * length(word[j]) 的最大值并且这两个单词不含有公共字母。你可以认为每个单词只包含小写字母。如果不存在这样的两个单词,返回 0。输入:...原创 2020-04-24 10:29:59 · 1221 阅读 · 0 评论 -
位运算解决【汉明距离】
来源:力扣(LeetCode)链接:461.汉明距离题目上面的箭头指出了对应二进制位不同的位置。两个整数之间的汉明距离指的是这两个数字对应二进制位不同的位置的数目。给出两个整数 x 和 y,计算它们之间的汉明距离。注意:0 ≤ x, y < 231.输入: x = 1, y = 4输出: 2解释:1 (0 0 0 1)4 (0 1 0 0) ...原创 2020-04-19 13:31:10 · 229 阅读 · 0 评论 -
位运算解决2的幂、4的幂
给定一个整数,编写一个函数来判断它是否是 2 的幂次方。输入: 1输出: true解释: 20 = 1输入: 16输出: true解释: 24 = 16输入: 218输出: false从下方的图中发现一些有关2的幂的二进制数的特点:可以看到,2的幂的二进制数除第一位是1,其余各个位数均为0;并且,2的幂值减一的二进制数每一位数均为1;然后要谈到符号‘&’,也...原创 2020-04-19 13:02:56 · 367 阅读 · 0 评论