Подсчет чисел с четным числом цифр

Я решил эту проблему: по заданному массиву / вектору чисел вернуть, сколько из них содержат четное количество цифр.

Ограничения:

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

Просмотрите код:

impl Solution {
    pub fn find_numbers(nums: Vec<i32>) -> i32 {
        let mut count = 0;
        let mut len = 0;

        if nums.len() <= 500 {
            for num in nums {
                let digit: Vec<_> = num
                    .to_string()
                    .chars()
                    .map(|d| d.to_digit(10).unwrap())
                    .collect();

                len = digit.len();
                if num > 100000 {
                    panic!("Too much greater values are in vector");
                }
                if len % 2 == 0 {
                    count += 1;
                }
            }
        }
        count
    }
}

Есть ли лучшие способы применить ограничения и решить проблему?

0

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *