BinaryGap

Find longest sequence of zeros in binary representation of an integer.

Solution in C/C++ (easy to convert into other languages...)

int solution(int N) {     int gap = 0;     int max_gap = 0;
    bool start = false;     for (int i=0; i<32; ++i) {
        if ((1<<31) & N) { start = true;             if (gap > max_gap) {                 max_gap = gap;             } gap = 0;         }         else if (start) {             ++gap;         }         N<<=1;     }     return max_gap; }

Comments