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 = 0 for i in nums: if len(str(i))%2 == 0: num += 1 return 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 <= 500
1 <= 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)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
python中的tkinter庫(kù)彈窗messagebox詳解
這篇文章主要介紹了python中的tkinter庫(kù)彈窗messagebox,包括消息提示框、消息警告框、錯(cuò)誤消息框,通過(guò)代碼給大家介紹的非常詳細(xì),需要的朋友可以參考下2021-06-06
Python桌面應(yīng)用開(kāi)發(fā)實(shí)戰(zhàn)之PyQt的安裝使用
這篇文章主要給大家介紹了關(guān)于Python桌面應(yīng)用開(kāi)發(fā)實(shí)戰(zhàn)之PyQt的安裝使用,PyQt是一個(gè)功能強(qiáng)大的Python庫(kù),用于創(chuàng)建圖形用戶界面(GUI)應(yīng)用程序,需要的朋友可以參考下2023-08-08
python爬蟲(chóng)解決驗(yàn)證碼的思路及示例
這篇文章主要介紹了python爬蟲(chóng)解決驗(yàn)證碼的思路及示例,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2019-08-08
OpenCV哈里斯角檢測(cè)|Harris?Corner理論實(shí)踐
這篇文章主要為大家介紹了OpenCV哈里斯角檢測(cè)|Harris?Corner理論實(shí)踐,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-04-04

