LeetCode 1295統計デジタル桁の偶数(C ++の説明)

デジタル桁の1295統計偶数

難易度は、単に
あなたが数字の偶数の中央値はどこに戻って、あなたの整数NUMSの配列を与えます。

例1:

入力:NUMS = [12,345,2,6,7896]
出力:2
説明:
12は2桁(ビットの数が偶数である)であり、
345 3桁(数字が奇数である)
2は、1ビットデジタル(奇数桁)
6)の桁数が奇数である
7896件の4桁は、(ビットの数が偶数である)
のみ7896は12ビット、偶数であるよう

例2:

入力:NUMS = [555,901,482,1771]
出力:1
説明:
のみ中央値1771は偶数です。

ヒント:

1 <= nums.length <= 500
1 <= NUMS [I] <= 10 ^ 5

裁判官最初の思想は、各番号のビット数を決定するために、ループを介している場合、この問題を参照して、そして、コードは次のとおりです。

class Solution {
public:
    int solove(int num){
        int re = 0;
        while(num){
            num /= 10;
            re++;
        }
        return re;
    }
    int findNumbers(vector<int>& nums) {
        int ans = 0;
        for(int i = 0; i < nums.size(); i++)
            if(solove(nums[i]) % 2 == 0)
                ans++;
        return ans;
    }
};

この質問は非常にプラス単一のトピックで、私達はちょうどそれが裁判官にビット数を実行するために取得する必要があり、当然のことながら、時間効率を最適化するのない深いステップがない、時間効率はまだ最適化の余地あり

公開された153元の記事 ウォンの賞賛247 ・は 20000 +を見て

おすすめ

転載: blog.csdn.net/qq_43422111/article/details/105179875