题目
给你一个整数数组 nums,请你返回其中位数为 偶数 的数字的个数。
示例 1:
输入:nums = [12,345,2,6,7896]
输出:2
解释:
12 是 2 位数字(位数为偶数)
345 是 3 位数字(位数为奇数)
2 是 1 位数字(位数为奇数)
6 是 1 位数字 位数为奇数)
7896 是 4 位数字(位数为偶数)
因此只有 12 和 7896 是位数为偶数的数字
来源:力扣(LeetCode)
链接:https://leetcode-cn.com/problems/find-numbers-with-even-number-of-digits
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。
思路
一开始想的是,遍历数组。然后对每个数字做判断。还想着对每个数字做除10的判断。但是觉得好麻烦,然后看了下题解,可以将数字转为字符串。然后通过字符串长度判断。写完之后,发现排名并不靠前。又看了下题解,只能说大佬的思路清奇,根据数组内的值的限制,直接做if else判断就好了。没那么多花里胡哨的,所以速度快。
答案
class Solution {
public int findNumbers(int[] nums) {
int count = 0;
for(int i = 0;i<nums.length;i++){
String s = Integer.toString(nums[i]);
if(s.length()%2==0){
count++;
}
}
return count;
}
}