Given an array nums
of integers, return how many of them contain an even number of digits.
Example 1:
1 2 | Input: nums = [12,345,2,6,7896] Output: 2 |
Example 2:
1 2 | Input: nums = [555,901,482,1771] Output: 1 |
Solution
- Loop through Array
- Find number of digits in each number
- Increase counter by 1 if number of digits in the number is even
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 | /** * FindNumbersWithEvenNumberOfDigits.java * Purpose: Find Numbers with Even Number of Digits * * @author Megha Rastogi * @version 1.0 08/09/2020 */ class FindNumbersWithEvenNumberOfDigits { /** * Find Numbers with Even Number of Digits * * @param Array, nums * @return integer, numberOfEvenDigitNumbers */ public int findNumbers( int [] nums) { // initialize the variable to store the count of // even digit numbers int numberOfEvenDigitNumbers = 0 ; // loop through the array and increase the counter // if number of digits are even for ( int num: nums){ if (numberOfDigits(num) % 2 == 0 ) numberOfEvenDigitNumbers++; } //return the result return numberOfEvenDigitNumbers; } /** * Find number of digits in an integer * * @param integer, num * @return integer, numberOfDigits */ public int numberOfDigits( int num){ // initialize the counter to store number of digits int numberOfDigits = 0 ; // loop until number is greater than 0 // Continuously divide num by 10 // increase the numberOfDigits by 1 while (num > 0 ){ num /= 10 ; numberOfDigits++; } // return the result return numberOfDigits; } } |
Source – Leetcode