Задача
Дан массив nums с элементами типа int. Нужно вернуть количество элементов, которые состоят из чётного количества цифр.
Ограничения
- 1 <= nums.length <= 500
- 1 <= nums[i] <= 10^5
Примеры
Ввод: nums = [12,345,2,6,7896]
Вывод: 2
Объяснение:
12 состоит из 2 цифр (чётное количество).
345 состоит из 3 цифр (нечётное количество).
2 состоит из 1 цифры (нечётное количество).
6 состоит из 1 цифры (нечётное количество).
7896 состоит из 4 цифр (чётное количество).
Следовательно, только числа 12 и 7896 состоят из чётного количества цифр.
Ввод: nums = [555,901,482,1771]
Вывод: 1
Объяснение:
Только число 1771 состоит из чётного количества цифр.
Решение
FindNumbersWithEvenNumberOfDigits.java
public class FindNumbersWithEvenNumberOfDigits { public static void main(String[] args) { System.out.println(findNumbers(new int[]{12, 345, 2, 6, 7896}) == 2); System.out.println(findNumbers(new int[]{555, 901, 482, 1771}) == 1); System.out.println(findNumbers(new int[]{437,315,322,431,686,264,442}) == 0); } public static int findNumbers(int[] nums) { short count = 0; boolean even; for (int num : nums) { even = true; while (num > 0) { even = !even; num = num / 10; } if (even) { count++; } } return count; } }
Найти элементы массива с чётным количеством цифр