Python 統(tǒng)計(jì)位數(shù)為偶數(shù)的數(shù)字代碼詳解
問(wèn)題描述
給出一個(gè)整數(shù)數(shù)組 nums,請(qǐng)返回其中位數(shù)為偶數(shù)的數(shù)字的個(gè)數(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ù)字。
解決方案
首先看到題目中所描述的位數(shù)為偶數(shù)的數(shù)字,這時(shí)就要看清楚這個(gè)位數(shù)是指幾位數(shù)的位數(shù)還是第幾位的位數(shù)了,然后通過(guò)觀察后面給的輸出樣例,就可以發(fā)現(xiàn)是指的幾位數(shù)。那么接下來(lái)就可以開(kāi)始解決了。既然統(tǒng)計(jì)個(gè)數(shù),首先想到的就應(yīng)該是具有遍歷功能的for循環(huán)了,然后再判斷幾位數(shù),不妨用 len 函數(shù)。但是要注意的是它給的列表中的數(shù)字是數(shù)字類型,自然是沒(méi)有 len 的,所以需要用 str 函數(shù)先將其轉(zhuǎn)化為字符串類型,然后就可以設(shè)置條件來(lái)統(tǒng)計(jì)為偶數(shù)位的個(gè)數(shù)了。
代碼示例:
class Solution:def findNumbers(self, nums: List[int]) -> int:num = 0for i in nums:if len(str(i))%2 == 0:num += 1return num
知識(shí)點(diǎn)補(bǔ)充:
統(tǒng)計(jì)位數(shù)為偶數(shù)的數(shù)字(數(shù)學(xué) + 字符串)
給你一個(gè)整數(shù)數(shù)組 nums,請(qǐng)你返回其中位數(shù)為 偶數(shù) 的數(shù)字的個(gè)數(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 <= 5001 <= nums[i] <= 10^5
思路:
水題,直接轉(zhuǎn)字符串判斷數(shù)字長(zhǎng)度即可。
時(shí)間復(fù)雜度:O(NK),N是nums長(zhǎng)度,K是max(nums)長(zhǎng)度
空間復(fù)雜度:O(K)
class Solution(object): def findNumbers(self, nums): ''' :type nums: List[int] :rtype: int ''' res = 0 for num in nums: if len(str(num)) % 2 == 0: res += 1 return res
總結(jié)
到此這篇關(guān)于Python 統(tǒng)計(jì)位數(shù)為偶數(shù)的數(shù)字的文章就介紹到這了,更多相關(guān)python 統(tǒng)計(jì)偶數(shù)內(nèi)容請(qǐng)搜索好吧啦網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持好吧啦網(wǎng)!
相關(guān)文章:
1. python 利用subprocess庫(kù)調(diào)用mplayer時(shí)發(fā)生錯(cuò)誤2. python文檔怎么查看?3. html - eclipse 標(biāo)簽錯(cuò)誤4. python - pycharm 自動(dòng)刪除行尾空格5. 安全性測(cè)試 - nodejs中如何防m(xù)ySQL注入6. 請(qǐng)問(wèn)PHPstudy中的數(shù)據(jù)庫(kù)如何創(chuàng)建索引7. python - Pycharm的Debug用不了8. javascript - 關(guān)于apply()與call()的問(wèn)題9. javascript - nginx反向代理靜態(tài)資源403錯(cuò)誤?10. datetime - Python如何獲取當(dāng)前時(shí)間
