随笔分类 -  位运算

摘要:题目 这是一道字符串的题目,题目呢要求找到两个字符串没有重复的字符,且两者长度的乘积最大。暴力可以过。但是在比较字符串的时候可以用位运算,这样时间会大大缩短。 关于字符串,限制在只有小写字母的时候,位运算是可以运用起来,把一串字符用一个数字表示。两个字符串是否有重复,只需要位与一下就可以了 clas 阅读全文
posted @ 2020-06-08 19:39 Shendu.CC 阅读(115) 评论(0) 推荐(0) 编辑
摘要:"题目" 题意:一个数组里有两个数字都只出现一次,其余的数字都出现两次,找出这两个数字 题解:我们先把整个数组连着异或一遍,得到的结果是那两个不同数字的异或结果,其结果必然大于等于1 我们把结果中第一个为1的位,作为判断条件。如果数组中相应位为1,则分到A组,相应位为0则分到B组,这样A,B组每组都 阅读全文
posted @ 2020-04-23 09:19 Shendu.CC 阅读(84) 评论(0) 推荐(0) 编辑
摘要:"题目" 判断一个数是否是2的整次幂最快的方式是,是判断x和x&( x)是否相等。 这道题目要注意0,和 INTMIN 阅读全文
posted @ 2020-03-04 15:26 Shendu.CC 阅读(77) 评论(0) 推荐(0) 编辑
摘要:"题目" 题意:计算一个完全二叉树的节点个数 题解:DFS 或者BFS都太low,我们可以用O(log(n)^2)的效率解决,n为节点个数,log(n)就是树的高度。 我们首先获得数的高度,然后,二分去寻找,最后一层的最右边的一个节点,就能计算树的节点个数了。 二分是Log(n),DFS也是Log( 阅读全文
posted @ 2020-02-23 16:32 Shendu.CC 阅读(110) 评论(0) 推荐(0) 编辑
摘要:"题目" 题意:给你两个数n,m 0=0;i ) { if(x=a[i]) { return 0; } if(x =a[i]&&y =a[i]) { return a[i]; } } return 0; } }; ``` 阅读全文
posted @ 2020-02-13 10:05 Shendu.CC 阅读(93) 评论(0) 推荐(0) 编辑
摘要:"题目" 题意:求一个数的二进制形式里有多少个1,我们可以用位运算一位一位的去取,但是还有更高级的方法。 x&( x) 得出的x的从右往左第一个1,形成的十进制数。我们每次让x x&( x),不断的减1,就好了。 阅读全文
posted @ 2020-02-11 17:31 Shendu.CC 阅读(81) 评论(0) 推荐(0) 编辑
摘要:"题目" 很简单的位运算题目 阅读全文
posted @ 2020-02-11 17:28 Shendu.CC 阅读(95) 评论(0) 推荐(0) 编辑
摘要:"题目" 题意:判断一个DNA序列中,长度为10的子序列,重复次数超过1次的序列! 题解:用一个map 就能搞定了,但是出于时间效率的优化,我们可以用位运算和数组代替map,首先只有四个字母,就可以用00,01,10,11 四个二进制表示,长度为10的序列,可以用长度为20的二进制序列表示。这样每中 阅读全文
posted @ 2020-01-27 20:13 Shendu.CC 阅读(139) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示