![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
位运算
杨戬没有你我怎么活
喜欢的人是杨戬!
展开
-
leetCode201
class Solution {public: int rangeBitwiseAnd(int left, int right) { int i = 0; while(left != right) { left >>= 1; right >>= 1; i++; } return left << i; }原创 2021-04-16 15:57:22 · 184 阅读 · 0 评论 -
1290. 二进制链表转整数
题目:给你一个单链表的引用结点 head。链表中每个结点的值不是 0 就是 1。已知此链表是一个整数数字的二进制表示形式。请你返回该链表所表示数字的 十进制值 。示例 1:输入:head = [1,0,1]输出:5解释:二进制数 (101) 转化为十进制数 (5)示例 2:输入:head = [0]输出:0示例 3:输入:head = [1]输出:1示例 4:输入:head = [1,0,0,1,0,0,1,1,1,0,0,0,0,0,0]输出:18880示例 5:原创 2020-06-24 17:35:13 · 105 阅读 · 0 评论 -
剑指 Offer 56 - II. 数组中数字出现的次数 II
题目:在一个数组 nums 中除一个数字只出现一次之外,其他数字都出现了三次。请找出那个只出现一次的数字。示例 1:输入:nums = [3,4,3,3]输出:4示例 2:输入:nums = [9,1,7,9,7,9,7]输出:1限制:1 <= nums.length <= 100001 <= nums[i] < 2^31题解:这道题的关键就在于只有一个数字只出现了一次,其他都出现了三次,那么按位来讲,相同位全部加起来,那个特殊的数在位上为1时,结果是3原创 2020-06-24 11:13:38 · 177 阅读 · 0 评论 -
leetcode 477
题目:两个整数的汉明距离 指的是这两个数字的二进制数对应位不同的数量。计算一个数组中,任意两个数之间汉明距离的总和。示例:输入: 4, 14, 2输出: 6解释: 在二进制表示中,4表示为0100,14表示为1110,2表示为0010。(这样表示是为了体现后四位之间关系)所以答案为:HammingDistance(4, 14) + HammingDistance(4, 2) + HammingDistance(14, 2) = 2 + 2 + 2 = 6.注意:数组中元.原创 2020-06-17 20:20:11 · 163 阅读 · 0 评论