# 1295. Find Numbers with Even Number of Digits

Given an array `nums` of integers, return how many of them contain an even number of digits.

Example 1:

``````Input: nums = [12,345,2,6,7896]
Output: 2
Explanation: 12 contains 2 digits (even number of digits).
345 contains 3 digits (odd number of digits).
2 contains 1 digit (odd number of digits).
6 contains 1 digit (odd number of digits).
7896 contains 4 digits (even number of digits).
Therefore only 12 and 7896 contain an even number of digits.
``````

Example 2:

``````Input: nums = [555,901,482,1771]
Output: 1
Explanation:
Only 1771 contains an even number of digits.
``````

Constraints:

• `1 <= nums.length <= 500`
• `1 <= nums[i] <= 105`

``````class Solution {
public:
int findNumbers(vector<int>& nums) {
int res = 0;
for (int num : nums) {
int cnt = 0;
while (num > 0) {
++cnt;
num /= 10;
}
res += (cnt % 2 == 0);
}
return res;
}
};
``````

``````class Solution {
public:
int findNumbers(vector<int>& nums) {
int res = 0;
for (int num : nums) {
res += (int)log10(num) & 1;
}
return res;
}
};
``````

``````class Solution {
public:
int findNumbers(vector<int>& nums) {
int res = 0;
for (int num : nums) {
if ((num > 9 && num < 100) || (num > 999 && num < 10000) || num == 100000) ++res;
}
return res;
}
};
``````

Github 同步地址:

https://github.com/grandyang/leetcode/issues/1295

Finding 3-Digit Even Numbers

https://leetcode.com/problems/find-numbers-with-even-number-of-digits/

https://leetcode.com/problems/find-numbers-with-even-number-of-digits/discuss/521567/C%2B%2B-solution-with-log-and-bit-manipulation

https://leetcode.com/problems/find-numbers-with-even-number-of-digits/discuss/459489/JAVA-solution-with-100-better-space-and-Time

LeetCode All in One 题目讲解汇总(持续更新中…)

（欢迎加入博主的知识星球，博主将及时答疑解惑，并分享刷题经验与总结，快快加入吧～）

|

Venmo 打赏

—|—

 微信打赏 Venmo 打赏
（欢迎加入博主的知识星球，博主将及时答疑解惑，并分享刷题经验与总结，试运营期间前五十位可享受半价优惠～）

×

Help us with donation