LeetCode 1295. 找出所有位数为偶数的数字(Find Numbers with Even Number of Digits)

问题描述:

给定一个整数数组nums,返回其中数字个数为偶数的整数。

注:

示例:

偶数是双数的意思吗_偶数是整数吗_偶数是什么

C语言实现:

我提供两种解法。

方法一:

遍历nums,对每一数字n做如下的操作

定义两个变量d和t,初始值分别为10和0;计算n/d,并将结果赋值给t。如果t大于10,说明n不是一个两位数,然后d*100,即d=1000;继续计算n/d,并将结果赋值给t,如果t大于10,说明n不是一个四位数,如此循环下去,直到t小于10,如果t不等于0,则说明t是一个偶数位数,否则t是一个奇数位数;

过程如下图:

偶数是双数的意思吗_偶数是什么_偶数是整数吗

代码如下:

偶数是双数的意思吗_偶数是什么_偶数是整数吗

方法二:

按照题目的第二条注解,可知,nums里面的数都小于100000的。

那么如果里面的某个数n是偶数位数,它一定满足下面条件中的某一个:

代码如下:

偶数是整数吗_偶数是双数的意思吗_偶数是什么

偶数是什么_偶数是整数吗_偶数是双数的意思吗

第二种方法理论上会比第一种好那么一点点。

第一种方法,对每一个数字做判断的时候,都要先计算n/d,然后赋值给t,再判断t的值以后,来确定是否要对d重新赋值偶数是什么,如果要,那么还要重新循环这个操作流程,最后还要根据t的值偶数是什么,对res进行累加操作;而方法二,对每个元素n最多只会判断3次就会得出结果。

Java语言实现:

Java 的实现和C语言的实现一致,不再撰述。

代码如下:

偶数是什么_偶数是双数的意思吗_偶数是整数吗

偶数是整数吗_偶数是双数的意思吗_偶数是什么

Python语言实现:

Python 的实现和C语言的实现一致,不再撰述。

代码如下:

偶数是整数吗_偶数是什么_偶数是双数的意思吗

偶数是双数的意思吗_偶数是什么_偶数是整数吗

限 时 特 惠: 本站每日持续更新海量各大内部创业教程,一年会员只需98元,全站资源免费下载 点击查看详情
站 长 微 信: muyang-0410