题目:给你一个整数数组 nums,请你返回其中位数为 偶数 的数字的个数。
实例一:
输入:nums = [12,345,2,6,7896]
输出:2
解释:
12 是 2 位数字(位数为偶数)
7896 是 4 位数字(位数为偶数)
实例二:
输入:nums = [555,901,482,1771]
输出:1
解释:
1771是4位数字(位数为偶数)
基本思路:
这是一道简单题目,采用“循环夹判定”的结构便可以实现题目要求。
class Solution {
public int findNumbers(int[] nums) {
//res为最后输出的符合题目要求的数字的个数
int res=0;
//for循环负责遍历数组中的每一个数,逐个判断
for(int i=0;i<nums.length;i++) {
//count为nums[i]的位数,默认为一位(即nums[i]<10)
int count=1;
//若nums[i]>=10,则逐次除10,以达到降位的效果
//同时count自增以记录位数
while(nums[i]>=10) {
nums[i]=nums[i]/10;
count++;
}
//判断位数是否为偶数
if(count%2==0) {
res++;
}
}
return res;
}
}