Python 统计位数为偶数的数字代码详解

问题描述

给出一个整数数组 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

知识点补充:

统计位数为偶数的数字(数学 + 字符串)

给你一个整数数组 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

思路:

水题,直接转字符串判断数字长度即可。

时间复杂度:O(NK),N是nums长度,K是max(nums)长度

空间复杂度:O(K)

class Solution(object):
 def findNumbers(self, nums):
  """
  :type nums: List[int]
  :rtype: int
  """
  res = 0
  for num in nums:
   if len(str(num)) % 2 == 0:
    res += 1
  return res

总结

到此这篇关于Python 统计位数为偶数的数字的文章就介绍到这了,更多相关python 统计偶数内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • Python 判断奇数偶数的方法

    以下实例用于判断一个数字是否为奇数或偶数: # -*- coding: UTF-8 -*- # Filename : test.py # Python 判断奇数偶数 # 如果是偶数除于 2 余数为 0 # 如果余数为 1 则为奇数 num = int(input("输入一个数字: ")) if (num % 2) == 0: print("{0} 是偶数".format(num)) else: print("{0} 是奇数".format(num

  • python如果快速判断数字奇数偶数

    这篇文章主要介绍了python如果快速判断数字奇数偶数,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 使用 按位与运算符(&) 将能更加快速地判断一个整数是奇数还是偶数 使用举例如下: def check_number(n): if n & 1: return '奇数' else: return '偶数' # 简单测试: for i in range(-3, 3): print(i, check_number(i)) 不过缺点就是不够直观

  • 浅谈python累加求和+奇偶数求和_break_continue

    如下所示: # 计算0到100之间的之间所有的数字累计求和结果 # 定义最终结果的变量 result = 0 # 定义一个整数的变量来记录循环次数 i = 0 # 开始循环 while i <= 100: print(i) # 每一次循环都让 result 和 i 这个变量相加 # 处理计数器 result += i # result = i + result i += 1 print("1~100的计算结果等于%d"%result) 首先定义一个变量,result来记录相加的最

  • python 求1-100之间的奇数或者偶数之和的实例

    如下所示: i=0 sum1=0 sum2=0 while i<=100: if i%2==0: sum1+=i else: sum2+=i i+=1 print('1-100之间偶数和为:%d' % sum1) print('1-100之间偶数和为:%d' % sum2) 结果: 1-100之间偶数和为:2550 1-100之间奇数和为:2500 以上这篇python 求1-100之间的奇数或者偶数之和的实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持我们.

  • Python 统计位数为偶数的数字代码详解

    问题描述 给出一个整数数组 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 是位

  • Python 统计位数为偶数的数字的代码

    问题描述 给出一个整数数组 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 是位

  • C/C++题解LeetCode1295统计位数为偶数的数字

    目录 题目描述 思路分析 AC 代码 将int转为String 代码 3种方法 - 统计位数为偶数的数字 题目描述 1295. 统计位数为偶数的数字 - 力扣(LeetCode) 给你一个整数数组 nums,请你返回其中位数为 偶数 的数字的个数. 示例 1: 输入:nums = [12,345,2,6,7896] 输出:2 解释: 12 是 2 位数字(位数为偶数) 345 是 3 位数字(位数为奇数) 2 是 1 位数字(位数为奇数) 6 是 1 位数字 位数为奇数) 7896 是 4 位数

  • Python实战之MNIST手写数字识别详解

    目录 数据集介绍 1.数据预处理 2.网络搭建 3.网络配置 关于优化器 关于损失函数 关于指标 4.网络训练与测试 5.绘制loss和accuracy随着epochs的变化图 6.完整代码 数据集介绍 MNIST数据集是机器学习领域中非常经典的一个数据集,由60000个训练样本和10000个测试样本组成,每个样本都是一张28 * 28像素的灰度手写数字图片,且内置于keras.本文采用Tensorflow下Keras(Keras中文文档)神经网络API进行网络搭建. 开始之前,先回忆下机器学习

  • Python 带有参数的装饰器实例代码详解

    demo.py(装饰器,带参数的装饰器): def set_level(level_num): def set_func(func): def call_func(*args, **kwargs): if level_num == 1: print("----权限级别1,验证----") elif level_num == 2: print("----权限级别2,验证----") return func() return call_func return set_f

  • python静态web服务器实现方法及代码详解

    1.编写TCP服务器程序. 2.获取浏览器发送的http请求消息数据. 3.读取固定的页面数据,将页面数据组装成HTTP响应消息数据并发送给浏览器. 4.HTTP响应报文数据发送完成后,关闭服务于客户端的套接字. 实例 # 时间: 2021/10/21 20:38 import socket if __name__ == '__main__': # 创建tcp服务端套接字 tcp_server_socket = socket.socket(socket.AF_INET, socket.SOCK_

  • python实现语音常用度量方法的代码详解

    语音信号处理一般都要进行主观评价实验和客观评价实验. 主观评价:邀请测听者对语音进行测听,给出主观意见得分 客观评价:根据算法来衡量语音质量 主观投票受多种因素影响,如个体受试者的偏好和实验的语境(其他条件).一个好的客观质量度量应该与许多不同的主观实验有很高的相关性 信噪比(SNR) 有用信号功率与噪声功率的比(此处功率为平均功率),也等于幅度比的平方 其中:$P_{signal}$为信号功率(平均功率或者实际功率):$P_{noise}$为噪声功率:$A_{signal}$为信号幅度:$A_

  • Python图片批量自动抠图去背景的代码详解

    今天发现个好东西啊,叫片刻抠图,是一个在线对图片自动抠图去除背景的网站.只要上传图片,就可以自动把背景去掉把目标对象抠出来. 不管是动物.汽车或各种产品,还是人物,都可以全自动做到令人惊艳的抠图效果!而且还说可以做到发丝级 AI 自动抠图,作为一个头发存留不多的程序员,突然莫名感觉到一丝来自这个世界的恶意. 这个抠图有什么用?比如可以把人物抠出来换个背景: 也可以把产品抠出来做成新的商品宣传图:(做电商的朋友肯定懂) 这么好用的东西,现在最关键的是:完全免费! emmmmmm,这个消息被我的几十

  • 基于Python的XML格式的文件示例代码详解

    XML文件是可拓展标记语言,是一种简单的数据存储语言,被设计用来传输和存储数据 在Python中XML的一些方法 读取文件和内容 #引用xml模块 from xml.etree import ElementTree as ET # ET去打开xml文件 tree = ET.parse("files/xo.xml") # 获取根标签 root = tree.getroot() print(root) # <Element 'data' at 0x7f94e02763b0> f

  • Python sqlalchemy时间戳及密码管理实现代码详解

    一.时间戳 实际开发中,我们一般希望create_time和update_time这两个属性能自动设置,所以在建表的时候需要在model上特殊处理一下: from sqlalchemy.sql import func class User(db.Model): __tablename__ = 'user' id = db.Column(db.Integer, primary_key = True) email = db.Column(db.String(128)) password_hash =

随机推荐