1295.統計位數爲偶數的數字

1295.統計位數爲偶數的數字

題目描述:

給你一個整數數組 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

題解1:

題目給出了數字大小的範圍1~100000,位數爲偶數的情況有:
·當十萬位不爲0時,計數加一;(100000)
·當十萬位和萬位爲0,千位不爲0時計數加一;(001000)
·當前面全爲0,十位不爲0時,計數加一。(000010)

public class Solution2 {
    public static int findNumbers(int[] nums) {
//統計位數爲偶數的數字個數
         int count = 0;
//該循環用於判斷數字位數是否爲偶數        
         for(int i = 0;i<nums.length;i++){        
            int n = nums[i];
            int shiwan = n/100000;
            int wan = n/10000;
            int qian = n/1000;
            int bai = n/100;
            int shi = n/10;
            
            if(shiwan!=0){
                count++;
            }else if(wan!=0){
            }else if(qian!=0){
                count++;
            }else if(bai!=0){
            }else if(shi!=0){
                count++;
            }       
        }
 //返回個數
        return count;
    }
提交結果1:

在這裏插入圖片描述

題解2:

將數轉換成字符串類型,判斷長度,這樣代碼要簡單一些

class Solution {
    public int findNumbers(int[] nums) {
//統計位數爲偶數的數字個數    
    int count = 0;
	for (int num : nums)
//判斷轉換成的字符串長度是否爲偶數,是計數就加1
		count += String.valueOf(num).length() % 2 == 0 ? 1 : 0;
	return count;
    }
}
提交結果2:

在這裏插入圖片描述

發佈了21 篇原創文章 · 獲贊 23 · 訪問量 2329
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章