# 统计位数为偶数的数字
给你一个整数数组 nums,请你返回其中位数为 偶数 的数字的个数。
- 示例 1:
输入:nums = [12,345,2,6,7896] 输出:2 解释: 12 是 2 位数字(位数为偶数) 345 是 3 位数字(位数为奇数) 2 是 1 位数字(位数为奇数) 6 是 1 位数字 位数为奇数) 7896 是 4 位数字(位数为偶数) 因此只有 12 和 7896 是位数为偶数的数字
- 示例 2:
输入:nums = [555,901,482,1771] 输出:1 解释: 只有 1771 是位数为偶数的数字。
- 提示:
1 <= nums.length <= 500 1 <= nums[i] <= 10^5
# mine
public static int findNumbers(int[] nums) {
int num = 0;
for (int i :nums) {
int x = 0;
while(i!=0){
i=i/10;
x++;
}
if (x%2==0){
num ++;
}
}
return num;
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
2
3
4
5
6
7
8
9
10
11
12
13
14
思路:
依据除10法可以得到数字相应的位数(代码中的while方块)
每个数字遍历之前需要初始化x
是否为偶数:%2是否为0,为0:偶数;不为0:奇数