程序在Python中查找长度为n的所有倒置数字
假设我们有一个值n。我们必须找到长度为n的所有倒置数字。正如我们所知,上下颠倒的数字是当翻转180度时看起来相同的数字。
因此,如果输入类似于n=2,则输出将为['11','69','88','96']。
为了解决这个问题,我们将遵循以下步骤-
定义一个功能middle()
。这将花费x
如果x为0,则
返回空白字符串的列表
如果x与1相同,则
返回元素0、1、8的新列表
ret:=一个新列表
中:=中(x−2)
中间每米
在ret的末尾插入(“0”并置“m”并接“0”)
如果x与n不同,则
在ret的末尾插入(“1”并置“1”)
在ret的末尾插入(“6”并置“9”)
在ret的末尾插入(“8”并置,“8”并置)
在ret的末尾插入(“9”并置“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']