无尽算法之 统计位数为偶数的数字

给你一个整数数组 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 是位数为偶数的数字。

解题:

利用字符串:

public int findNumbers(int[] nums) {
		int count = 0;
		for (int num : nums)
			count += String.valueOf(num).length() % 2 == 0 ? 1 : 0;
		return count;
}

数学/10

public int findNumbers(int[] nums) {
		int count = 0;
		for (int num : nums) {
			int n = 0;
			while (num > 0) {
				num /= 10;
				n++;
			}
			count += n % 2 == 0 ? 1 : 0;
		}
		return count;
}
发布了125 篇原创文章 · 获赞 236 · 访问量 2万+

猜你喜欢

转载自blog.csdn.net/qq_33709508/article/details/103798314