2081. Sum of k Mirror Numbers (Hard) - TengnanYao/daily_leetcode GitHub Wiki
class Solution:
def kMirror(self, k: int, n: int) -> int:
result = set()
arr = {""}
while len(result) < n + 1:
temp = set()
for x in arr:
for i in range(k):
a0, b0 = x + str(i) + x[ : : -1], x + str(i) + str(i) + x[ : : -1]
a1, b1 = int(a0, k), int(b0, k)
a2, b2 = str(a1), str(b1)
if a2 == a2[ : : -1]:
result.add(a1)
if b2 == b2[ : : -1]:
result.add(b1)
if b0[0] != "0":
temp.add(x + str(i))
arr = temp
return sum(sorted(result)[: n + 1])