每日一題 解碼方法

2021-10-02 19:10:43 字數 788 閱讀 6139

這道題目的動態規劃遞推公式很容易想到:

但是難點在於包含許多需要特判的情況,比如最後兩位的大小需要尤其注意

class solution:

def numdecodings(self, s: str) -> int:

import functools

@functools.lru_cache(none)

def fuc(subs):

n = len(subs)

if n == 0: return 1

if int(subs) == 0: return 0

if n == 1: return 1

last_two = int(subs[n-2:])

last_one = int(subs[n-1:])

if last_two == 0 or (last_two > 26 and last_one == 0):

return 0

if last_two <= 26 and last_two >= 10:

if last_one != 0:

return fuc(subs[:n-1]) + fuc(subs[:n-2])

else:

return fuc(subs[:n-2])

return fuc(subs[:n-1])

return fuc(s)

每日一題 LeetCode之字串解碼

給定乙個經過編碼的字串,返回它解碼後的字串。編碼規則為 k encoded string 表示其中方括號內部的 encoded string 正好重複 k 次。注意 k 保證為正整數。你可以認為輸入字串總是有效的 輸入字串中沒有額外的空格,且輸入的方括號總是符合格式要求的。此外,你可以認為原始資料不...

每日一題 1

題目詳情 peter喜歡玩數字遊戲,但數獨這樣的遊戲對他來說太簡單了,於是他準備玩乙個難的遊戲。遊戲規則是在乙個n n的 裡填數,規則 對於每個輸入的n,從左上角開始,總是以對角線為起點,先橫著填,再豎著填。這裡給了一些樣例,請在樣例中找到規律並把這個n n的 列印出來吧。輸入描述 多組測試資料 資...

每日一題2018 3 21

leetcode 2 模擬十進位制運算考察單鏈表基本操作。題無難點,個人基礎需要提高。definition for singly linked list.struct listnode class solution while p while q if shi val s next null ret...