本文共 1531 字,大约阅读时间需要 5 分钟。
20210117
难度简单56
给你一个整数数组
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
通过次数38,845提交次数47,722
public class WeiShuSum { /**todo * 科普:Java中int的取值范围为: -2^31——2^31-1 */ public static void main(String[] args) { int [] nums = new int[]{12,345,2,6,7896}; findNumbers(nums); } /** * 第一种方式:题目中提示的数值范围: * 1 <= nums.length <= 500 * 1 <= nums[i] <= 10^5 * 如果没有提示的数值范围:那么,10为10的一次方;1000为10的3次方;100000为10的5次方,以此类推... */ public static int findNumbers(int[] nums) { //计数: int sum = 0; for (int i = 0; i < nums.length; i++) { int numTemp = nums[i]; if (((numTemp / 10) < 10 && (numTemp / 10) >= 1) || ((numTemp / 1000) < 10 && (numTemp / 1000) >= 1) || ((numTemp / 100000) < 10 && (numTemp / 100000) >= 1)) { sum++; } } return sum; } /** * 第二种方式:核心:转化为String字符串,然后计算长度; */ public static int findNumbers2(int[] nums){ //计数: int sum=0; String numsStrTemp = ""; for (int i = 0; i < nums.length; i++) { numsStrTemp=String.valueOf(nums[i]); if (numsStrTemp.length() % 2 ==0){ sum++; } } return sum; }}
转载地址:http://cytzi.baihongyu.com/