1. 程式人生 > >移位運算符的使用

移位運算符的使用

quest 二進制 沒有 正整數 amp public return != pan

給定一個正整數 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; } };

移位運算符的使用