- 统计位数为偶数的数字
题目描述
给你一个整数数组 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 是位数为偶数的数字。
提示:
1 <= nums.length <= 500
1 <= nums[i] <= 10^5
Python(代码1)
class Solution(object):
def findNumbers(self, nums):
n = 0
for i in nums:
if len(str(i)) % 2 == 0:
n = n + 1
return n
"""
:type nums: List[int]
:rtype: int
"""
Python(代码2)
class Solution(object):
def findNumbers(self, nums):
m = 0
for i in nums:
n = 1
while i // 10 != 0:
n += 1
i = i // 10
if n % 2 == 0:
m += 1
return m
"""
:type nums: List[int]
:rtype: int
"""
叮咚:
1、python不用声明类型,没有int n = 0,只有n = 0。
2、for i in nums循环中,取出来的类型是nums这个列表里包含的元素的类型,即如果列表里是[1, ‘2’, true],则取出来的第一个元素是int型,第二个是字符串型,第三个是布尔型。
3、++n和n++是c中的语法;python只能n += 1或者n = n + 1。
4、python里的符号 / 不是整除,比如1 / 2不等于0,而是等于0.5,想整除的话应该是 // 。