Python 統(tǒng)計(jì)位數(shù)為偶數(shù)的數(shù)字代碼詳解
問題描述
給出一個(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ù)了,然后通過觀察后面給的輸出樣例,就可以發(fā)現(xiàn)是指的幾位數(shù)。那么接下來就可以開始解決了。既然統(tǒng)計(jì)個(gè)數(shù),首先想到的就應(yīng)該是具有遍歷功能的for循環(huán)了,然后再判斷幾位數(shù),不妨用 len 函數(shù)。但是要注意的是它給的列表中的數(shù)字是數(shù)字類型,自然是沒有 len 的,所以需要用 str 函數(shù)先將其轉(zhuǎn)化為字符串類型,然后就可以設(shè)置條件來統(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. macOS Sierra 10.12 安裝mysql 5.7.1出現(xiàn)錯(cuò)誤2. mysql主主同步,從庫(kù)不同步應(yīng)該怎么解決?3. javascript - 按鈕鏈接到另一個(gè)網(wǎng)址 怎么通過百度統(tǒng)計(jì)計(jì)算按鈕的點(diǎn)擊數(shù)量4. android - 安卓做前端,PHP做后臺(tái)服務(wù)器 有什么需要注意的?5. mysql 獲取時(shí)間函數(shù)unix_timestamp 問題?6. mysql - 拖拽重排序后怎么插入數(shù)據(jù)庫(kù)?7. mysql - 僅僅只是把單引號(hào)與反斜杠轉(zhuǎn)義不用prepare statement能否避免sql注入?8. 新入手layuiadmin,部署到tp中。想用php自已寫一個(gè)后臺(tái)管理系統(tǒng)。9. mysql在限制條件下篩選某列數(shù)據(jù)相同的值10. php - 生產(chǎn)環(huán)境下,給MySQL添加索引,修改表結(jié)構(gòu)操作,如何才能讓線上業(yè)務(wù)不受影響?
