首页 > 其他 > 详细

面试题 05.03. 翻转数位

时间:2020-03-14 11:17:09      阅读:127      评论:0      收藏:0      [点我收藏+]

给定一个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

面试题 05.03. 翻转数位

原文:https://www.cnblogs.com/HackerEarl/p/12490259.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!