这是我做过的一个题,我把它分享给你们:
这是原文链接:https://leetcode-cn.com/problems/find-numbers-with-even-number-of-digits/
如果感觉我做的还行的话,记得点赞。
给你一个整数数组 nums,请你返回其中位数为 偶数 的数字的个数。
示例 1:
输入:nums = [12,345,2,6,7896]
输出:2
示例 2:
输入:nums = [555,901,482,1771]
输出:1
提示:
1 <= nums.length <= 500
1 <= nums[i] <= 10^5
解题思路:
思路分析:这道题是给定我们一个整数数组,然后让我们返回其中位数为偶数的数字个数。
有两种方法,第一种就是遍历nums数组,给每一位元素加一个空字符将其转换成字符串,然后统计其长度并对2取余,如果等于0,说明其位数是偶数,count++就行,最后返回count。
第二种方法就是不转化成字符串,直接看每一个元素是否在[10,100)或者[1000,10000)的范围内,如果是的话count++,最后返回count。
这道题就解决完成了,下面是我的网页的代码,主函数我就不写了,要验证的话自己编个主函数验证下:
class Solution {
public int findNumbers(int[] nums) {
int count = 0;
for(int i = 0;i < nums.length;i++){
/*
if((nums[i] + "").length() % 2 == 0){
count++;
}
*/
if((nums[i]>=10 && nums[i]<100) || (nums[i]>=1000 && nums[i]<10000)){
count++;
}
}
return count;
}
}
我今天的分享就到这里,谢谢观看。