• 868. Binary Gap


    Problem:

    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

    思路

    Solution (C++):

    int binaryGap(int N) {
        int res = 0, d = -32;
        while (N) {
            if (N%2) {
                res = max(res, d);
                d = 0;
            }
            N /= 2;
            ++d;
        }
        return res;
    }
    

    性能

    Runtime: 0 ms  Memory Usage: 6 MB

    思路

    Solution (C++):

    int peakIndexInMountainArray(vector<int>& A) {
        for (int i = 0; i < A.size()-1; ++i) {
            if (A[i] > A[i+1])  return i;
        }
        return -1;
    }
    

    性能

    Runtime: 12 ms  Memory Usage: 7.4 MB

    相关链接如下:

    知乎:littledy

    欢迎关注个人微信公众号:小邓杂谈,扫描下方二维码即可

    作者:littledy
    本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文链接,否则保留追究法律责任的权利。
  • 相关阅读:
    DOM 获取元素,设置样式
    js检查浏览器内核版本信息
    获取浏览器可视屏幕宽度
    swift 闭包+嵌套函数+extension+单例+嵌套函数+??
    HTTP请求错误大全
    Swift:网络库Alamofire
    Swift 值类型和引用类型
    Swift URL Schemes使用
    Swift编程规范
    swift系统学习控件篇:UITableView+UICollectionView
  • 原文地址:https://www.cnblogs.com/dysjtu1995/p/12741705.html
Copyright © 2020-2023  润新知