您好,登錄后才能下訂單哦!
這篇文章將為大家詳細講解有關Python如何統計位數為偶數的數字,小編覺得挺實用的,因此分享給大家做個參考,希望大家閱讀完這篇文章后可以有所收獲。
問題描述
給出一個整數數組 nums,請返回其中位數為偶數的數字的個數。
示例 1:
輸入:nums = [12,345,2,6,7896]
輸出:2
解釋:
12 是 2 位數字(位數為偶數)
345 是 3 位數字(位數為奇數)
2 是 1 位數字(位數為奇數)
6 是 1 位數字 位數為奇數)
7896 是 4 位數字(位數為偶數)
因此只有 12 和 7896 是位數為偶數的數字
示例 2:
輸入:nums = [555,901,482,1771]
輸出:1
解釋:
只有 1771 是位數為偶數的數字。
解決方案
首先看到題目中所描述的位數為偶數的數字,這時就要看清楚這個位數是指幾位數的位數還是第幾位的位數了,然后通過觀察后面給的輸出樣例,就可以發現是指的幾位數。那么接下來就可以開始解決了。既然統計個數,首先想到的就應該是具有遍歷功能的for循環了,然后再判斷幾位數,不妨用 len 函數。但是要注意的是它給的列表中的數字是數字類型,自然是沒有 len 的,所以需要用 str 函數先將其轉化為字符串類型,然后就可以設置條件來統計為偶數位的個數了。
代碼示例:
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
知識點補充:
統計位數為偶數的數字(數學 + 字符串)
給你一個整數數組 nums,請你返回其中位數為 偶數 的數字的個數。
示例 1:
輸入:nums = [12,345,2,6,7896]
輸出:2
解釋:
12 是 2 位數字(位數為偶數)
345 是 3 位數字(位數為奇數)
2 是 1 位數字(位數為奇數)
6 是 1 位數字 位數為奇數)
7896 是 4 位數字(位數為偶數)
因此只有 12 和 7896 是位數為偶數的數字
示例 2:
輸入:nums = [555,901,482,1771]
輸出:1
解釋:
只有 1771 是位數為偶數的數字。
提示:
1 <= nums.length <= 500
1 <= nums[i] <= 10^5
思路:
水題,直接轉字符串判斷數字長度即可。
時間復雜度:O(NK),N是nums長度,K是max(nums)長度
空間復雜度: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
關于“Python如何統計位數為偶數的數字”這篇文章就分享到這里了,希望以上內容可以對大家有一定的幫助,使各位可以學到更多知識,如果覺得文章不錯,請把它分享出去讓更多的人看到。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。