LeetCode1295. 统计位数为偶数的数字

题目:给你一个整数数组 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;
    }
}

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值