最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

C/C++題解LeetCode1295統(tǒng)計位數(shù)為偶數(shù)的數(shù)字

 更新時間:2023年01月03日 10:49:00   作者:劉09k11  
這篇文章主要為大家介紹了C/C++題解LeetCode1295統(tǒng)計位數(shù)為偶數(shù)的數(shù)字示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪

題目描述

1295. 統(tǒng)計位數(shù)為偶數(shù)的數(shù)字 - 力扣(LeetCode)

給你一個整數(shù)數(shù)組 nums,請你返回其中位數(shù)為 偶數(shù) 的數(shù)字的個數(shù)。

示例 1:

輸入:nums = [12,345,2,6,7896]
輸出:2
解釋:
12 是 2 位數(shù)字(位數(shù)為偶數(shù)) 
345 是 3 位數(shù)字(位數(shù)為奇數(shù))  
2 是 1 位數(shù)字(位數(shù)為奇數(shù)) 
6 是 1 位數(shù)字 位數(shù)為奇數(shù)) 
7896 是 4 位數(shù)字(位數(shù)為偶數(shù))  
因此只有 12 和 7896 是位數(shù)為偶數(shù)的數(shù)字

示例 2:

輸入:nums = [555,901,482,1771]
輸出:1 
解釋: 
只有 1771 是位數(shù)為偶數(shù)的數(shù)字。

提示:

1 <= nums.length <= 500

1 <= nums[i] <= 10^5

思路分析

題目要求是十進制數(shù)求位數(shù),所以最先想到的思路就是依次除進制數(shù)10取商,然后再除,獲取到做除法的次數(shù)即為位數(shù)

此處可以使用遞歸,也可以使用for循環(huán), 如果是其他進制數(shù),只需要修改結(jié)束條件和除數(shù)

題目給的條件 1< num < 10^5, 所以最多循環(huán)五次,不用考慮性能問題導(dǎo)致時間超時

默認位數(shù)是值1 遞歸結(jié)束條件就是 是否 < 10,遞歸體就是將當前位和之前的位數(shù)求和.求解即可

利用to_string函數(shù)可以將整數(shù)轉(zhuǎn)換成字符串

然后用string類自帶的求長度函數(shù)可以求出有幾位

然后直接對2求余就知道是奇數(shù)還是偶數(shù)了。

AC 代碼

class Solution {
public:
    int getLengthOfNumber (int num) {
    int lenght = 1;
    if (num < 10) {
        return lenght;
    }
    num = num / 10;
    lenght =  getLengthOfNumber(num) + lenght;
    return lenght;
}
    int findNumbers(vector<int>& nums) {
        int num = 0;
        int length = (int)nums.size();
        for (int i = 0 ; i < length; i++) {
            int length = getLengthOfNumber(nums[i]);
            if (length % 2 == 0) {
                num++;
            }
        }
        return num;
    }
};
class Solution {
public:
    int findNumbers(vector<int>& nums) {
        int count = 0;
        for(auto v : nums)
        {
            string x = to_string(v);
            if(x.size()%2 == 0)
                count++;
        }
        return count;
    }
};

將int轉(zhuǎn)為String

調(diào)用.length,然后%2==0即為偶數(shù) - 統(tǒng)計位數(shù)為偶數(shù)的數(shù)字

代碼

class Solution {
    public int findNumbers(int[] nums) {
        int res=0;
        for(int i:nums){
            if(String.valueOf(i).length()%2==0){
                res++;
            }
        }
???????        return res;
    }
}

3種方法 - 統(tǒng)計位數(shù)為偶數(shù)的數(shù)字

1. 把數(shù)字轉(zhuǎn)成字符串

public int findNumbers(int[] nums) {
    int count = 0;
    for (int i = 0; i < nums.length; i++) {
        if (String.valueOf(nums[i]).length() % 2 == 0) {
            count++;
        }
    }
    return count;
}

2. 數(shù)字循環(huán)除10,統(tǒng)計等于0的時候除10的次數(shù),偶數(shù)次則該數(shù)為偶數(shù)位

public int findNumbers(int[] nums) {
    int count = 0;
    for (int i = 0; i < nums.length; i++) {
        int N = nums[i];
        //記錄除10的次數(shù)
        int countTen = 0;
        while (N != 0) {
            N/=10;
            countTen++;
        }
        //如果除10的次數(shù)是偶數(shù)次,則該數(shù)為偶數(shù)位數(shù)
        if (countTen % 2 == 0) {
            count++;
        }
    }
    return count;
}

3. 已知范圍為1 <= nums[i] <= 10^5,所以只有兩個區(qū)間內(nèi)的數(shù)為偶數(shù)位10~99以及1000~9999

public int findNumbers(int[] nums) {
    int count=0;
    for(int i=0;i<nums.length;++i){
        if((nums[i]>=10&&nums[i]<100)||(nums[i]>=1000&&nums[i]<10000))
            count++;
    }
    return count;        
}

以上就是C/C++題解LeetCode1295統(tǒng)計位數(shù)為偶數(shù)的數(shù)字的詳細內(nèi)容,更多關(guān)于C/C++統(tǒng)計位數(shù)為偶數(shù)字的資料請關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • c++查詢最短路徑示例

    c++查詢最短路徑示例

    這篇文章主要介紹了c++查詢最短路徑示例,需要的朋友可以參考下
    2014-05-05
  • C++ 情懷游戲掃雷的實現(xiàn)流程詳解

    C++ 情懷游戲掃雷的實現(xiàn)流程詳解

    掃雷是電腦上很經(jīng)典很經(jīng)典的傳統(tǒng)老游戲,從小編第一次摸到計算機開始就玩過掃雷,雖然當時并不理解玩法原理,但終是第一次玩電腦游戲,下面來從掃雷的前世今生講起
    2021-11-11
  • 與ASCII碼相關(guān)的C語言字符串操作函數(shù)

    與ASCII碼相關(guān)的C語言字符串操作函數(shù)

    這篇文章主要介紹了與ASCII碼相關(guān)的C語言字符串操作函數(shù),分別是將字符轉(zhuǎn)換為ASCII碼的toascii()函數(shù)和根據(jù)ASCII碼進行字符串比較的strcoll()函數(shù),需要的朋友可以參考下
    2015-08-08
  • C和C++中argc和argv的含義及用法詳解

    C和C++中argc和argv的含義及用法詳解

    argv 是 argument vector的縮寫,表示傳入main函數(shù)的參數(shù)序列或指針,這篇文章主要介紹了C和C++中argc和argv的含義以及用法,需要的朋友可以參考下
    2022-11-11
  • Qt創(chuàng)建SQlite數(shù)據(jù)庫的示例代碼

    Qt創(chuàng)建SQlite數(shù)據(jù)庫的示例代碼

    本文主要介紹了Qt創(chuàng)建SQlite數(shù)據(jù)庫的示例代碼,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2022-05-05
  • 淺談C++中對象的復(fù)制與對象之間的相互賦值

    淺談C++中對象的復(fù)制與對象之間的相互賦值

    這篇文章主要介紹了淺談C++中對象的復(fù)制與對象之間的相互賦值,是C語言入門學(xué)習(xí)中的基礎(chǔ)知識,需要的朋友可以參考下
    2015-09-09
  • 深入淺出理解C語言初識結(jié)構(gòu)體

    深入淺出理解C語言初識結(jié)構(gòu)體

    C?數(shù)組允許定義可存儲相同類型數(shù)據(jù)項的變量,結(jié)構(gòu)是?C?編程中另一種用戶自定義的可用的數(shù)據(jù)類型,它允許你存儲不同類型的數(shù)據(jù)項,本篇讓我們來了解C?的結(jié)構(gòu)體
    2022-02-02
  • C語言 數(shù)據(jù)類型詳細介紹

    C語言 數(shù)據(jù)類型詳細介紹

    本文主要講解C語言 數(shù)據(jù)類型,這里整理了詳細的數(shù)據(jù)類型的資料,希望能幫助剛剛開始學(xué)習(xí)C語言的同學(xué)
    2016-08-08
  • 基于C語言指令的深入分析

    基于C語言指令的深入分析

    本篇文章是對C語言的指令進行了詳細的分析與介紹,需要的朋友參考下
    2013-05-05
  • c++ 深入理解歸并排序的用法

    c++ 深入理解歸并排序的用法

    歸并排序是典型分治思想的代表——首先把原問題分解為兩個或多個子問題,然后求解子問題的解,最后使用子問題的解來構(gòu)造出原問題的解
    2022-03-03

最新評論

措勤县| 昌吉市| 杭锦旗| 涪陵区| 五河县| 兴和县| 金寨县| 肥城市| 桦甸市| 肥西县| 平和县| 黄平县| 连云港市| 阿合奇县| 峡江县| 六安市| 九江县| 林州市| 钦州市| 和田县| 板桥市| 靖远县| 二连浩特市| 门头沟区| 运城市| 三江| 得荣县| 梁河县| 南陵县| 新营市| 淮滨县| 临清市| 健康| 商水县| 繁峙县| 达日县| 萨嘎县| 罗定市| 白水县| 美姑县| 安陆市|