Welcome to Subscribe On Youtube

Formatted question description: https://leetcode.ca/all/1295.html

1295. Find Numbers with Even Number of Digits (Easy)

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] <= 10^5

Related Topics:
Array

Solution 1.

  • class Solution {
        public int findNumbers(int[] nums) {
            int count = 0;
            for (int num : nums) {
                if (String.valueOf(num).length() % 2 == 0)
                    count++;
            }
            return count;
        }
    }
    
    ############
    
    class Solution {
        public int findNumbers(int[] nums) {
            int ans = 0;
            for (int v : nums) {
                if (String.valueOf(v).length() % 2 == 0) {
                    ++ans;
                }
            }
            return ans;
        }
    }
    
  • // OJ: https://leetcode.com/problems/find-numbers-with-even-number-of-digits/
    // Time: O(N)
    // Space: O(1)
    class Solution {
        int getCount(int n) {
            int cnt = 0;
            while (n) {
                n /= 10;
                ++cnt;
            }
            return cnt;
        }
    public:
        int findNumbers(vector<int>& nums) {
            int cnt = 0;
            for (int n : nums) {
                if (getCount(n) % 2 == 0) cnt++;
            }
            return cnt;
        }
    };
    
  • class Solution:
        def findNumbers(self, nums: List[int]) -> int:
            return sum(len(str(v)) % 2 == 0 for v in nums)
    
    ############
    
    # 1295. Find Numbers with Even Number of Digits
    # https://leetcode.com/problems/find-numbers-with-even-number-of-digits/
    
    class Solution:
        def findNumbers(self, nums: List[int]) -> int:
            res = 0
            
            for num in map(str,nums):
                res += (len(num) % 2 == 0)
            
            return res
    
  • func findNumbers(nums []int) (ans int) {
    	for _, v := range nums {
    		if len(strconv.Itoa(v))%2 == 0 {
    			ans++
    		}
    	}
    	return
    }
    
  • /**
     * @param {number[]} nums
     * @return {number}
     */
    var findNumbers = function (nums) {
        let ans = 0;
        for (const v of nums) {
            ans += String(v).length % 2 == 0;
        }
        return ans;
    };
    
    

All Problems

All Solutions