日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Leetcode 91. 解码方法 (每日一题 20211013)

發布時間:2025/4/5 编程问答 13 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Leetcode 91. 解码方法 (每日一题 20211013) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
一條包含字母?A-Z 的消息通過以下映射進行了 編碼 :'A' -> 1 'B' -> 2 ... 'Z' -> 26 要 解碼 已編碼的消息,所有數字必須基于上述映射的方法,反向映射回字母(可能有多種方法)。例如,"11106" 可以映射為:"AAJF" ,將消息分組為 (1 1 10 6) "KJF" ,將消息分組為 (11 10 6) 注意,消息不能分組為? (1 11 06) ,因為 "06" 不能映射為 "F" ,這是由于 "6" 和 "06" 在映射中并不等價。給你一個只含數字的 非空 字符串 s ,請計算并返回 解碼 方法的 總數 。題目數據保證答案肯定是一個 32 位 的整數。示例 1:輸入:s = "12" 輸出:2 解釋:它可以解碼為 "AB"(1 2)或者 "L"(12)。 示例 2:輸入:s = "226" 輸出:3 解釋:它可以解碼為 "BZ" (2 26), "VF" (22 6), 或者 "BBF" (2 2 6) 。 示例 3:輸入:s = "0" 輸出:0 解釋:沒有字符映射到以 0 開頭的數字。 含有 0 的有效映射是 'J' -> "10" 和 'T'-> "20" 。 由于沒有字符,因此沒有有效的方法對此進行解碼,因為所有數字都需要映射。 示例 4:輸入:s = "06" 輸出:0 解釋:"06" 不能映射到 "F" ,因為字符串含有前導 0("6" 和 "06" 在映射中并不等價)。鏈接:https://leetcode-cn.com/problems/decode-waysclass Solution:def numDecodings(self, s: str) -> int:length = len(s)dp = [0] * (length + 1)dp[0] = 1s = ' ' + sfor i in range(1, length + 1):a = ord(s[i]) - ord('0')b = (ord(s[i-1]) - ord('0')) * 10 + (ord(s[i]) - ord('0'))if 1<= a <= 9:dp[i] = dp[i-1]if 10 <= b <= 26:dp[i] += dp[i-2]return dp[-1]

總結

以上是生活随笔為你收集整理的Leetcode 91. 解码方法 (每日一题 20211013)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。