zoukankan      html  css  js  c++  java
  • 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
    本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文链接,否则保留追究法律责任的权利。
  • 相关阅读:
    Mybatis动态SQL
    Mybatis05__#和$的区别
    Mybatis04__输入参数/输出参数
    数据库中的字段和实体类中的字段不一致
    Mybatis中常用注解
    Mybatis03__配置文件简介
    Mybatis实现增、删、改操作时返回主键
    Mybatis04__CURD
    Mybatis02__Mybatis搭建
    lxrunoffline的使用
  • 原文地址:https://www.cnblogs.com/dysjtu1995/p/12741705.html
Copyright © 2011-2022 走看看