算法入门(8)统计列表中偶数位数字个数和

本文探讨了三种有效的方法来计算数组中位数为偶数的数字的数量。包括逐步除以10累加计数、转换为字符串计算长度及使用以10为底的对数求解。

给你一个整数数组 nums,请你返回其中位数为 偶数 的数字的个数。
示例 1:
输入:nums = [12,345,2,6,7896]
输出:2
解释:
12 是 2 位数字(位数为偶数)
345 是 3 位数字(位数为奇数)
2 是 1 位数字(位数为奇数)
6 是 1 位数字 位数为奇数)
7896 是 4 位数字(位数为偶数)
因此只有 12 和 7896 是位数为偶数的数字

# 解法1 值除以10逐步累加求出数字有多少位
def find_number_method1(num):
    result = 0
    for i in num:
        count = 1
        while i>=10:
            i = i/10
            count+=1
        if count%2 ==0:
            result+=1
    return result
# 解法2 将数字转化为字符串 求字符串长度
def find_number_method2(nums):
    result = 0
    for num in nums:
        if not len(str(num)) % 2:
            result += 1
    return result
# 解法3 通过 以10为底的对数也可以求数字的长度。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值