面试题 05.03. 翻转数位
给定一个32位整数 num,你可以将一个数位从0变为1。请编写一个程序,找出你能够获得的最长的一串1的长度。
示例 1:
输入: num = 1775(110111011112)
输出: 8
示例 2:
输入: num = 7(01112)
输出: 4
参考代码:
class Solution:
def reverseBits(self, num: int):
v = []
a = bin(num).replace("0b", '')
if set(a) == {'1'}:
return len(a)+1
for i in range(len(a.split('0'))-1):
v.append(len(a.split('0')[i])+len(a.split('0')[i+1]))
return max(v)+1