微信公众号:"算法与编程之美",欢迎关注,及时了解更多此系列文章。

问题描述

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

解决方案

首先看到题目中所描述的位数为偶数的数字,这时就要看清楚这个位数是指几位数的位数还是第几位的位数了,然后通过观察后面给的输出样例,就可以发现是指的几位数。那么接下来就可以开始解决了。既然统计个数,首先想到的就应该是具有遍历功能的for循环了,然后再判断几位数,不妨用len函数。但是要注意的是它给的列表中的数字是数字类型,自然是没有len的,所以需要用str函数先将其转化为字符串类型,然后就可以设置条件来统计为偶数位的个数了。

代码示例:


class Solution:

    def findNumbers(self, nums: List[int]) -> int:

        num = 0

        for i in nums:

            if len(str(i))%2 == 0:

                num += 1

        return num


END

实习编辑   |   王文星

责       编   |   江来洪

 where2go 团队



微信号:算法与编程之美          

Python|力扣周赛-统计位数为偶数的数字_二维码

长按识别二维码关注我们!

温馨提示:点击页面右下角发表评论,期待您的参与!期待您的转发!