用 Python 编写程序查找所有长度为 n 的倒置数字
pythonserver side programmingprogramming更新于 2026/2/8 16:12:17
假设我们有一个值 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 不同,则
在末尾插入 ("0" 连接 m 连接 "0") ret
在 ret 末尾插入 ("1" 连接 m 连接 "1")
在 ret 末尾插入 ("6" 连接 m 连接 "9")
在 ret 末尾插入 ("8" 连接 m 连接 "8")
在 ret 末尾插入 ("9" 连接 m 连接 "6")
返回 ret
从 main 方法中,执行以下操作 −
如果 n 为 0,然后
返回一个新列表
否则返回中间(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']
相关文章
有用资源
python 参考教程 - 该教程包含有关 python 的更多信息:https://www.cainiaomax.com/python/

