788. 旋轉(zhuǎn)數(shù)字(Python)

題目

難度:★☆☆☆☆
類型:數(shù)學(xué)

我們稱一個(gè)數(shù) X 為好數(shù), 如果它的每位數(shù)字逐個(gè)地被旋轉(zhuǎn) 180 度后,我們?nèi)钥梢缘玫揭粋€(gè)有效的,且和 X 不同的數(shù)。要求每位數(shù)字都要被旋轉(zhuǎn)。

如果一個(gè)數(shù)的每位數(shù)字被旋轉(zhuǎn)以后仍然還是一個(gè)數(shù)字, 則這個(gè)數(shù)是有效的。0, 1, 和 8 被旋轉(zhuǎn)后仍然是它們自己;2 和 5 可以互相旋轉(zhuǎn)成對(duì)方;6 和 9 同理,除了這些以外其他的數(shù)字旋轉(zhuǎn)以后都不再是有效的數(shù)字。

現(xiàn)在我們有一個(gè)正整數(shù) N, 計(jì)算從 1 到 N 中有多少個(gè)數(shù) X 是好數(shù)?

注意
N 的取值范圍是 [1, 10000]。

示例

輸入: 10
輸出: 4

解釋:
在[1, 10]中有四個(gè)好數(shù): 2, 5, 6, 9。
注意 1 和 10 不是好數(shù), 因?yàn)樗麄冊(cè)谛D(zhuǎn)之后不變。

解答

這道題邏輯簡(jiǎn)單易懂,定義函數(shù),判斷一個(gè)數(shù)字是否是旋轉(zhuǎn)數(shù)字:

條件1:3,4,7不在數(shù)字中,因?yàn)檫@些數(shù)字旋轉(zhuǎn)后是沒有意義的;
條件2:2,5,6,9至少有一個(gè)在數(shù)字中,這樣才能保證旋轉(zhuǎn)后的數(shù)字與原數(shù)字不同。

然后計(jì)數(shù)范圍內(nèi)旋轉(zhuǎn)數(shù)字的個(gè)數(shù)。

class Solution:
    def rotatedDigits(self, N):
        is_rotate = lambda n: all([c not in n for c in {'3', '4', '7'}]) and any([c in n for c in {'2', '5', '6', '9'}])
        return len(list(filter(is_rotate, map(str, range(N+1)))))

如有疑問或建議,歡迎評(píng)論區(qū)留言~

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 在C語言中,五種基本數(shù)據(jù)類型存儲(chǔ)空間長(zhǎng)度的排列順序是: A)char B)char=int<=float C)ch...
    夏天再來閱讀 4,089評(píng)論 0 2
  • 快! 瘋子 別只抬頭看天用眼畫它的藍(lán) 去支起畫板提起那魔力的筆,把筆顏歡。 粉刷匠 不藝術(shù)家 畫扇窗織夢(mèng)網(wǎng) 網(wǎng)一樹...
    踏夕陽之影逐黎明之光閱讀 391評(píng)論 0 0
  • 據(jù)日本共同社11月22日?qǐng)?bào)道,據(jù)日本氣象廳消息,當(dāng)天發(fā)生的地震震中位于福島縣近海,震源深度約為25公里。推測(cè)震級(jí)為...
    谷雨姑娘閱讀 471評(píng)論 0 3

友情鏈接更多精彩內(nèi)容