前言
第10天:位运算
从现代计算机中所有的数据二进制的形式存储在设备中。即 0、1 两种状态,计算机对二进制数据进行的运算(+、-、*、/)都是叫位运算,即将符号位共同参与运算的运算。
位运算主要有如下几项操作:
一、练习题目
| 题目链接 | 难度 |
|---|---|
| 191.位1的个数 | ★☆☆☆☆ |
| 461. 汉明距离 | ★☆☆☆☆ |
| 136. 只出现一次的数字 | ★☆☆☆☆ |
| 137. 只出现一次的数字 II | ★★☆☆☆ |
| 260. 只出现一次的数字 III | ★★☆☆☆ |
二、思路与代码
1. 位1的个数
题目描述:
编写一个函数,输入是一个无符号整数(以二进制串的形式),返回其二进制表达式中数字位数为 ‘1’ 的个数(也被称为汉明重量)。
解题思路:
1)二进制数与1的交集若不为零,则说明该二进制数的末尾数字为一;
2)每次将二进制数右移一位,统计末尾二进制数为一的个数。
class Solution(object):
def hammingWeight(self, n):
ans = 0
while n :
ans

本文主要介绍在位运算方面的知识,并通过五个LeetCode题目,包括位1的个数、汉明距离以及三种不同情况下的只出现一次的数字问题,详细解析解题思路和位运算的应用。
最低0.47元/天 解锁文章
4537

被折叠的 条评论
为什么被折叠?



