数字と問題解決のアイデアのLeetcode 201ビット単位の範囲およびC ++の実装

免責事項:この記事はブロガーオリジナル記事ですが、許可ブロガーなく再生してはなりません。https://blog.csdn.net/gjh13/article/details/90733575

この方法の一つ:

問題解決のアイデア:

この問題は、実際には、共通部分の前に32ビットの2進数mとnは、ゼロで埋め戻しを見つけることです。後者の位置では、M <= K <= N、特定の数kが存在しなければならないので、32ビットのバイナリ数kはその位置で0である場合、ビット単位で行われ、それは、0です。

class Solution {
public:
    int rangeBitwiseAnd(int m, int n) {
        int tmp = 0;
        while(m != n){
            m = m >> 1;
            n = n >> 1;
            tmp++;
        }
        return m << tmp;
    }
};

 

 

おすすめ

転載: blog.csdn.net/gjh13/article/details/90733575