https://leetcode.com/problems/find-numbers-with-even-number-of-digits/ | Easy |
---|
Дан массив nums
, содержащий целые числа. Необходимо вернуть количество чисел, содержащих чётное количество цифр.
Input:
nums = [12, 345, 2, 6, 7896]Output:
2Explanation:
12 и 7896 содержат чётное число цифр.
Input:
nums = [555, 901, 482, 1771]Output:
1Explanation:
Только 1771 содержит чётное число цифр.
fun findNumbers(nums: IntArray): Int {
var count = 0
for (num in nums) {
var digits = 0
var n = num
while (n > 0) {
digits += 1
n /= 10
}
if (digits % 2 == 0) count += 1 // Увеличиваем счётчик, если число цифр чётное
}
return count
}
O(n * log₁₀m), где n — количество чисел, m — максимальное число в массиве.
O(1), используется постоянное количество памяти.