首页 > 其他 > 详细

移位运算符的使用

时间:2018-07-16 13:39:08      阅读:176      评论:0      收藏:0      [点我收藏+]

 

给定一个正整数 N,找到并返回 N 的二进制表示中两个连续的 1 之间的最长距离。 

如果没有两个连续的 1,返回 0 。

class Solution{
public:
    int binaryGap(int n)
    {
        int ans = 0;
        vector<int> a;
        a.clear();
        for(int i = 0; i <= 30; i++)
        {
            if((1<<i) & N != 0 ) a.push_back(i);
        }
        for(int j = 0; j < a.size()-1; j++)
        {
            if(a[j+1] - a[j] > ans) ans = a[i+1] - a[j];
        }
        return ans;
    }

};

 

移位运算符的使用

原文:https://www.cnblogs.com/Shinered/p/9317121.html

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