檢查是否可以用給定的數字 N 在 Python 中建立一個迴文字串
假設我們有一個數字 n。我們必須檢查是否可以從該數字建立一個字母順序的小寫字串,並檢查該字串是否為迴文。這裡我們只取從 a 到 j 的字元,[a = 0, b = 1... j = 9]。因此,如果數字是 42,則將列印子字串“ec”直到 6(4+2)個字元“ececec”,然後檢查這是否為迴文。
因此,如果輸入類似於 n = 43,則輸出將為 True,字串為“ededede”,這是迴文。
為了解決這個問題,我們將遵循以下步驟:
- temp := 空字串
- s := n 作為字串
- letters := 從 a 到 j 的所有字元
- sum := 0
- substr := 空字串
- 對於 i 從 0 到 s 的大小 - 1,執行
- d := s[i] 作為數字數字
- substr := substr 連線 letters[d]
- sum := sum + d
- 當 temp 的大小 <= sum 時,執行
- temp := temp 連線 substr
- temp := temp[從索引 0 到 sum - 1]
- 當 temp 為迴文時返回 true,否則返回 false
示例
讓我們看看以下實現以獲得更好的理解:
def isPalindrome(s): return s == s[::-1] def solve(n): temp = "" s = str(n) letters = "abcdefghij" sum = 0 substr = "" for i in range(len(s)) : d = int(s[i]) substr += letters[d] sum += d while len(temp) <= sum: temp += substr temp = temp[:sum] return isPalindrome(temp) n = 43 print (solve(n))
輸入
43
輸出
True
廣告