Python程式:查詢長度為n的所有倒置數字
假設我們有一個值n。我們必須找到長度為n的所有倒置數字。眾所周知,倒置數字是指旋轉180度後外觀相同的數字。
因此,如果輸入為n = 2,則輸出將為['11', '69', '88', '96']。
為了解決這個問題,我們將遵循以下步驟:
定義一個函式middle()。它將接收x作為引數。
如果x為0,則
返回一個空字串列表
如果x等於1,則
返回一個包含元素0、1、8的新列表
ret := 一個新列表
mid := middle(x − 2)
對於mid中的每個m,執行以下操作:
如果x不等於n,則
在ret的末尾插入("0" + m + "0")
在ret的末尾插入("1" + m + "1")
在ret的末尾插入("6" + m + "9")
在ret的末尾插入("8" + m + "8")
在ret的末尾插入("9" + m + "6")
返回ret
在主方法中,執行以下操作:
如果n為0,則
返回一個新列表
否則返回middle(n)的排序列表
讓我們看看下面的實現,以便更好地理解:
示例
class Solution: def solve(self, n): if not n: return [] def middle(x=n): if not x: return [""] if x == 1: return list("018") ret = [] mid = middle(x - 2) for m in mid: if x != n: ret.append("0" + m + "0") ret.append("1" + m + "1") ret.append("6" + m + "9") ret.append("8" + m + "8") ret.append("9" + m + "6") return ret return sorted(middle()) ob = Solution() print(ob.solve(2))
輸入
2
輸出
['11', '69', '88', '96']
廣告