• 868. Binary Gap


    Given a positive integer N, find and return the longest distance between two consecutive 1's in the binary representation of N.

    If there aren't two consecutive 1's, return 0.

    Example 1:

    Input: 22
    Output: 2
    Explanation:
    22 in binary is 0b10110.
    In the binary representation of 22, there are three ones, and two consecutive pairs of 1's.
    The first consecutive pair of 1's have distance 2.
    The second consecutive pair of 1's have distance 1.
    The answer is the largest of these two distances, which is 2.

    Example 2:

    Input: 5
    Output: 2
    Explanation:
    5 in binary is 0b101.

    Example 3:

    Input: 6
    Output: 1
    Explanation:
    6 in binary is 0b110.

    Example 4:

    Input: 8
    Output: 0
    Explanation:
    8 in binary is 0b1000.
    There aren't any consecutive pairs of 1's in the binary representation of 8, so we return 0.

    Note:

    • 1 <= N <= 10^9
    class Solution:
        def binaryGap(self, N):
            """
            :type N: int
            :rtype: int
            """
            s = bin(N)
            temp = []
            for i in range(len(s)):
                if s[i]=='1':
                    temp.append(i)
            # print(temp)
            if len(temp)<=1:
                return 0
            res = 0
            for i in range(len(temp)-1):
                res = max(res,temp[i+1]-temp[i])
            return res
    
  • 相关阅读:
    maven mirrorOf
    使用nexus 搭建本地 maven 服务器
    django 访问静态资源
    django 异常问题总结
    django导入 views.py
    vue js 实现 树形菜单
    vue.js 基础
    css之margin
    Vue项目笔记
    eslint ":"号
  • 原文地址:https://www.cnblogs.com/bernieloveslife/p/9831074.html
Copyright © 2020-2023  润新知