Offer 驾到,掘友接招!我正在参与2022春招打卡活动,点击查看活动详情。
一、题目描述
- 给你一个整数数组
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 <= 5001 <= nums[i] <= 100000
二、思路分析:
- 统计位数为偶数的数字个数
- 首先遍历数组,将数组内的每一项数组用
toString方法转化成字符串 - 然后再利用字符串的
length属性获得长度,即数字的位数 - 判断
length是否是2的倍数- 如果是,就说明当前项的数字是偶数位的数字,定义好的统计变量加
1 - 如果不是,就不统计次数
- 如果是,就说明当前项的数字是偶数位的数字,定义好的统计变量加
- 最后返回统计次数的变量
- 首先遍历数组,将数组内的每一项数组用
三、AC 代码:
function findNumbers(nums: number[]): number {
let times = 0;
for(let i = 0; i < nums.length; i++){
if(nums[i].toString().length % 2 === 0){
times++
}
}
return times
};
四、总结:
- 题目简单难度,也可以用其他方式解题
- 更多解题方式,移步题解区