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