Python程序:查找n的二进制形式中连续1的最长长度
假设我们有一个非负值n,我们需要找到其二进制表示中连续1的最长长度。
例如,如果输入n = 1469,则输出为4,因为156的二进制表示为“10110111101”,所以有四个连续的1。
为了解决这个问题,我们将遵循以下步骤:
- count := 0
- 当n不等于0时,执行以下操作:
- n := n AND (n左移一位)
- count := count + 1
- 返回count
示例
让我们来看下面的实现,以便更好地理解:
def solve(n): count = 0 while n != 0: n = n & (n << 1) count = count + 1 return count n = 1469 print(solve(n))
输入
1469
输出
4
广告
数据结构
网络
关系数据库管理系统(RDBMS)
操作系统
Java
iOS
HTML
CSS
Android
Python
C语言编程
C++
C#
MongoDB
MySQL
Javascript
PHP