【C++刷题】位运算

【C++刷题】位运算

  • 一、二进制中最右侧的1
    • 1、位1的个数
      • (1)题目链接
      • (2)解析
      • (3)代码
    • 2、比特位计数
      • (1)题目链接
      • (2)解析
      • (3)代码
    • 3、汉明距离
      • (1)题目链接
      • (2)解析
      • (3)代码
  • 二、异或规律
    • 1、只出现一次的数字
      • (1)题目链接
      • (2)解析
      • (3)代码
    • 2、只出现一次的数字III
      • (1)题目链接
      • (2)解析
      • (3)代码
  • 三、判定字符是否唯一
    • 1、题目链接
    • 2、解析
    • 3、代码
  • 四、丢失的数字
    • 1、题目链接
    • 2、解析+代码
  • 五、两整数之和
    • 1、题目链接
    • 2、解析
    • 3、代码
  • 六、只出现一次的数字II
    • 1、题目链接
    • 2、解析
    • 3、代码
  • 七、消失的两个数字
    • 1、题目链接
    • 2、解析
    • 3、代码


【C++刷题】位运算_第1张图片

一、二进制中最右侧的1

1、位1的个数

(1)题目链接

leetcode链接

【C++刷题】位运算_第2张图片

(2)解析

【C++刷题】位运算_第3张图片

(3)代码

【C++刷题】位运算_第4张图片

2、比特位计数

(1)题目链接

leetcode链接
【C++刷题】位运算_第5张图片

(2)解析

【C++刷题】位运算_第6张图片

【C++刷题】位运算_第7张图片

(3)代码

【C++刷题】位运算_第8张图片

3、汉明距离

(1)题目链接

leetcode链接

【C++刷题】位运算_第9张图片

(2)解析

两个数异或一下,因为异或一下不同的数为1,相同的数为0,所以能够找到有几个不同数的位置了,再逐个干掉右边的1,ret++即可。

(3)代码

【C++刷题】位运算_第10张图片

二、异或规律

1、只出现一次的数字

(1)题目链接

leetcode链接

【C++刷题】位运算_第11张图片

(2)解析

【C++刷题】位运算_第12张图片

(3)代码

【C++刷题】位运算_第13张图片

2、只出现一次的数字III

(1)题目链接

leetcode链接

【C++刷题】位运算_第14张图片

(2)解析

【C++刷题】位运算_第15张图片

(3)代码

【C++刷题】位运算_第16张图片

三、判定字符是否唯一


1、题目链接

leetcode链接

【C++刷题】位运算_第17张图片

2、解析

【C++刷题】位运算_第18张图片

3、代码

【C++刷题】位运算_第19张图片

四、丢失的数字

1、题目链接

leetcode链接

【C++刷题】位运算_第20张图片

2、解析+代码

【C++刷题】位运算_第21张图片

五、两整数之和

1、题目链接

leetcode链接

【C++刷题】位运算_第22张图片

2、解析

先疑惑求一个值,再按位与右移算出另一个控制的进位值。
【C++刷题】位运算_第23张图片

3、代码

【C++刷题】位运算_第24张图片

六、只出现一次的数字II

1、题目链接

leetcode链接

【C++刷题】位运算_第25张图片

2、解析

【C++刷题】位运算_第26张图片

3、代码

【C++刷题】位运算_第27张图片

七、消失的两个数字

1、题目链接

leetcode链接

【C++刷题】位运算_第28张图片

2、解析

【C++刷题】位运算_第29张图片

3、代码

【C++刷题】位运算_第30张图片

你可能感兴趣的:(C++刷题,c++,开发语言,算法,数据结构)