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

作者:算法与编程之美 时间:2023-12-05 19:43:03 

问题描述

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

来源:http://mp.weixin.qq.com/s?__biz=MzI5MTQ5NDY1MA==&mid=2247489328&idx=2&sn=811ce0f3bb2270bef5beefe5fd9000c8

标签:python,位数,偶数
0
投稿

猜你喜欢

  • SQL"不能为新插入的行确定标识"错误的解决方法

    2011-04-07 11:05:00
  • Python编程应用设计原则详解

    2021-04-08 20:13:05
  • python装饰器decorator介绍

    2021-12-18 10:56:25
  • centos 安装python3.6环境并配置虚拟环境的详细教程

    2021-06-10 12:24:49
  • 使用Python的datetime库处理时间(RPA流程)

    2023-04-23 22:53:15
  • 2款Python内存检测工具介绍和使用方法

    2022-10-09 06:13:10
  • Python插件机制实现详解

    2021-08-28 06:55:30
  • pycharm运行和调试不显示结果的解决方法

    2023-11-04 21:09:46
  • ASP.NET MVC4入门教程(六):验证编辑方法和编辑视图

    2024-05-13 09:15:36
  • SQL Server常用存储过程及示例

    2024-01-18 18:45:41
  • Pandas之Dropna滤除缺失数据的实现方法

    2022-03-30 03:29:42
  • Python中如何添加自定义模块

    2023-06-09 23:24:38
  • java微信开发之上传下载多媒体文件

    2024-06-05 09:43:46
  • python利用OpenCV2实现人脸检测

    2021-05-14 11:03:45
  • 完美的js验证网址url(正则表达式)

    2008-06-07 09:36:00
  • 牛刀小试YUI compressor(YUI安装方法)

    2009-02-12 16:18:00
  • jquery获取复选框被选中的值

    2024-04-22 13:05:24
  • PHP设计模式之解释器模式浅析

    2023-05-29 02:28:16
  • 详细讲解Access数据库远程连接的实用方法

    2008-11-28 16:34:00
  • Windows自动执行python脚本操作步骤

    2023-04-22 15:32:42
  • asp之家 网络编程 m.aspxhome.com