# [LeetCode]#1295. Find Numbers with Even Number of Digits

Environment: Python 3.7

Key technique: for loop

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: 2Explanation: 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] <= 10^5`

Analysis:

1. Convert int to string.
2. Use len() function to find is even number or not.

Solution:

`class Solution:    def findNumbers(self, nums):        count=0        for i in nums:            if len(str(i))%2==0:                count+=1        return count`

Better Solution:

`class Solution:    def findNumbers(self, nums):         return sum([len(str(x))%2==0 for x in nums])`

Submitted result:

Reference:

https://leetcode.com/problems/find-numbers-with-even-number-of-digits/discuss/576998/Python-One-Liner-91

Interesting in any computer science.