這是我做過的一個題,我把它分享給你們:
這是原文鏈接:https://leetcode-cn.com/problems/find-numbers-with-even-number-of-digits/
如果感覺我做的還行的話,記得點贊。
給你一個整數數組 nums,請你返回其中位數爲 偶數 的數字的個數。
示例 1:
輸入:nums = [12,345,2,6,7896]
輸出:2
示例 2:
輸入:nums = [555,901,482,1771]
輸出:1
提示:
1 <= nums.length <= 500
1 <= nums[i] <= 10^5
解題思路:
思路分析:這道題是給定我們一個整數數組,然後讓我們返回其中位數爲偶數的數字個數。
有兩種方法,第一種就是遍歷nums數組,給每一位元素加一個空字符將其轉換成字符串,然後統計其長度並對2取餘,如果等於0,說明其位數是偶數,count++就行,最後返回count。
第二種方法就是不轉化成字符串,直接看每一個元素是否在[10,100)或者[1000,10000)的範圍內,如果是的話count++,最後返回count。
這道題就解決完成了,下面是我的網頁的代碼,主函數我就不寫了,要驗證的話自己編個主函數驗證下:
class Solution {
public int findNumbers(int[] nums) {
int count = 0;
for(int i = 0;i < nums.length;i++){
/*
if((nums[i] + "").length() % 2 == 0){
count++;
}
*/
if((nums[i]>=10 && nums[i]<100) || (nums[i]>=1000 && nums[i]<10000)){
count++;
}
}
return count;
}
}
我今天的分享就到這裏,謝謝觀看。