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']
廣告
資料結構
網路
關係資料庫管理系統 (RDBMS)
作業系統
Java
iOS
HTML
CSS
Android
Python
C語言程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP