Leetcode Day14 1
479. 最大回文数乘积
给定一个整数 n ,返回 可表示为两个 n 位整数乘积的 最大回文整数 。因为答案可能非常大,所以返回它对 1337 取余 。
示例 1:
输入:n = 2
输出:987
解释:99 x 91 = 9009, 9009 % 1337 = 987
示例 2:
输入: n = 1
输出: 9
本来想自己暴力做的,结果:

res百分百放不进……遂放弃
遇事不决看题解吧
class Solution:
def largestPalindrome(self, n: int) -> int:
max=pow(10,n)-1
min=pow(10,n-1)
for i in range(max,0,-1):
num=i
t=i
while t:
num=num*10+(t%10)
t//=10 # 翻转左半部分到其自身末尾,构造回文数 p
for j in range(max,0,-1):
if j*j<num:
break #降低时间复杂度,因为乘法交换律
else:
if num%j==0:
return int(num%1337)
return -1
res=Solution()
res.largestPalindrome(2)
