Leetcode Day14 1
479. 最大回文數(shù)乘積
給定一個(gè)整數(shù) n ,返回 可表示為兩個(gè) n 位整數(shù)乘積的 最大回文整數(shù) 。因?yàn)榇鸢缚赡芊浅4?,所以返回它?duì) 1337 取余 。
?
示例 1:
輸入:n = 2
輸出:987
解釋?zhuān)?9 x 91 = 9009, 9009 % 1337 = 987
示例 2:
輸入: n = 1
輸出: 9
本來(lái)想自己暴力做的,結(jié)果:

res百分百放不進(jìn)……遂放棄
遇事不決看題解吧
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 ? # 翻轉(zhuǎn)左半部分到其自身末尾,構(gòu)造回文數(shù) p
? ? ? ? ? ?for j in range(max,0,-1):
? ? ? ? ? ? ? ?if j*j<num:
? ? ? ? ? ? ? ? ? ?break #降低時(shí)間復(fù)雜度,因?yàn)槌朔ń粨Q律
? ? ? ? ? ? ? ?else:
? ? ? ? ? ? ? ? ? ?if num%j==0:
? ? ? ? ? ? ? ? ? ? ? ?return int(num%1337)
? ? ? ?return -1
res=Solution()
res.largestPalindrome(2)
