题解 | #求最大连续bit数#转换成字符串方法

求最大连续bit数

https://www.nowcoder.com/practice/4b1658fd8ffb4217bc3b7e85a38cfaf2

package main

import (
    "fmt"
)

func main() {
    // 接收输入转变成二进制字符串
    var num int
    fmt.Scan(&num)
    input:=fmt.Sprintf("%b", num)
    // fmt.Println(input)
    // 循环遍历一下
    res,tem:=0,0
    for _,v:=range input{
        // 遇到1,就让临时计数+1
        if v=='1'{
            tem++
            // fmt.Println(ret,tem)
        }
        // 遇到0,判断一下临时计数和当前结果那个大,选大的给结果赋值
        // 然后清零临时计数
        if v=='0'{
            if res<tem{
                res=tem
            }
            tem=0
            // fmt.Println(res,tem)
        }
    }
    // 但是还有一个问题,如果转换成的二进制字符串都是1,那就走不到v==0的部分
    // 这样的话res永远是0,而tem也不会清零,所以我们要做一个最后的判断
    if res<tem{
        res=tem
    }
    fmt.Println(res)
}

全部评论

相关推荐

UtopianYou...:这个简历排版真的不太行哦,去找免费的或者花点小钱,把排版弄整齐一点吧,看着舒服。
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务