我們稱乙個數 x 為好數, 如果它的每位數字逐個地被旋轉 180 度後,我們仍可以得到乙個有效的,且和 x 不同的數。要求每位數字都要被旋轉。
如果乙個數的每位數字被旋轉以後仍然還是乙個數字, 則這個數是有效的。0, 1, 和 8 被旋轉後仍然是它們自己;2 和 5 可以互相旋轉成對方;6 和 9 同理,除了這些以外其他的數字旋轉以後都不再是有效的數字。
現在我們有乙個正整數 n, 計算從 1 到 n 中有多少個數 x 是好數?
示例:輸入: 10
輸出: 4
解釋:在[1, 10]中有四個好數: 2, 5, 6, 9。
注意 1 和 10 不是好數, 因為他們在旋轉之後不變。
注意:n 的取值範圍是 [1, 10000]。
思路:確定好數的標準
【3,4,7】一定不是
【2,5,6,9】一定要有乙個
**:
class
solution
:def
rotateddigits
(self, n)
:"""
:type n: int
:rtype: int
"""res=
0for i in
range(1
,n+1):
i=str(i)
ifall
(n_1 not
in i for n_1 in
['3'
,'4'
,'7'])
andany
(n_2 in i for n_2 in
['2'
,'5'
,'6'
,'9'])
: res+=
1return res
結果:25% Leetcode刷題筆記
1.兩數之和給定乙個整數陣列nums 和乙個目標值target,請你在該陣列中找出和為目標值的那兩個整數,並返回他們的陣列下標。ps 你可以假設每種輸入只會對應乙個答案。但是,你不能重複利用這個陣列中同樣的元素。思路 用target減去nums中的每乙個數,並設立乙個字典來記錄對應的下標 class...
LeetCode刷題筆記
實現strstr 給定乙個 haystack 字串和乙個 needle 字串,在 haystack 字串中找出 needle 字串出現的第乙個位置 從0開始 如果不存在,則返回 1。示例 1 輸入 haystack hello needle ll 輸出 2 示例 2 輸入 haystack aaaa...
LeetCode刷題筆記
給出兩個 非空 的鍊錶用來表示兩個非負的整數。其中,它們各自的位數是按照 逆序 的方式儲存的,並且它們的每個節點只能儲存 一位 數字。如果,我們將這兩個數相加起來,則會返回乙個新的鍊錶來表示它們的和。您可以假設除了數字 0 之外,這兩個數都不會以 0 開頭。示例 輸入 2 4 3 5 6 4 輸出 ...