leetcode:479. 最大回文数乘积(python3解法,数学相关算法题)

难度:简单

给定一个整数 n ,返回 可表示为两个 n 位整数乘积的 最大回文整数 。因为答案可能非常大,所以返回它对 1337 取余

示例 1:

复制代码
输入:n = 2
输出:987
解释:99 x 91 = 9009, 9009 % 1337 = 987

示例 2:

复制代码
输入:n = 1
输出:9

提示:

  • 1 <= n <= 8

题解:

python 复制代码
class Solution:
    def largestPalindrome(self, n: int) -> int:
        if n == 1:
            return 9  # 1位数的最大回文数是9
        
        # 生成 n 位数的最大值
        max_num = int("9" *n)   # 例如,n=3时,max_num = 999
        min_num = 10 ** (n - 1)  # n位数的最小值,即100
        
        max_palindrome = 0  # 储存找到的最大回文数

        # 从最大 n 位数开始逆序遍历
        for i in range(max_num, min_num-1, -1):
            for j in range(i, min_num-1, -1):  # j 从 i 开始,以减少重复计算
                product = i * j
                # 检查乘积是否为回文
                if str(product) == str(product)[::-1]:
                    max_palindrome = max(max_palindrome, product)  # 更新最大回文数
                    break  # 找到的最大回文数可立即使用
        
        return max_palindrome % 1337  # 返回结果对1337取余
相关推荐
生态学者几秒前
Ecological Indicators | 机场鸟调的新方法:用 AWM-PC1 读懂干扰梯度下的鸟类群落
人工智能·算法·r语言·微信公众平台
Herbert_hwt8 分钟前
第六章 Java深入理解接口、函数式接口与lambda表达式
java·开发语言·算法
API快乐传递者25 分钟前
电商竞品分析接口实战指南:从数据采集到决策洞察的全链路方案
java·python
2401_8685347826 分钟前
集中式存储和分布式存储
python·pygame
卷无止境31 分钟前
FastAPI 权限管理实战:从 ACL 到 RBAC 的那些门道
后端·python·fastapi
卷无止境31 分钟前
软件文档写作中,Agent最常用的十种skill拆解
python·agent·claude
君君思密达33 分钟前
LeetCode Hot 100 题目详解-滑动窗口
算法·leetcode·职场和发展
GreenTea9 小时前
深度解读 Anthropic 多智能体报告:更强的模型 ≠ 更好的协调
前端·后端·算法
2603_965148119 小时前
如何解析JSON数据?API返回的商品信息处理教程
开发语言·数据库·python·自动化·json·api
fqq310 小时前
力扣刷题前置Java语法
算法·leetcode·职场和发展