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取余
相关推荐
AI科技星2 分钟前
全域数学·第卷:场计算机卷(场空间计算机)【乖乖数学】
java·开发语言·人工智能·算法·机器学习·数学建模·数据挖掘
Deepoch4 分钟前
数学模型驱动:Deepoc 低幻觉数学大模型助力发动机全周期智能优化
人工智能·算法·机器学习·deepoc·数学大模型·低幻觉
刘~浪地球6 分钟前
DeepSeek V4 应用实战:构建智能数据分析Agent
python·数据挖掘·数据分析
嘻嘻哈哈樱桃13 分钟前
牛客经典101题解题集--贪心算法+模拟
java·python·算法·贪心算法
AKDreamer_HeXY13 分钟前
QOJ 12255 - 36 Puzzle 题解
数据结构·c++·数学·算法·icpc·qoj
AI科技星22 分钟前
《全域数学》第一部 数术本源 第三卷 代数原本第14篇 附录二 猜想证明【乖乖数学】
人工智能·算法·数学建模·数据挖掘·量子计算
Wect36 分钟前
LeetCode 72. 编辑距离:动态规划经典题解
前端·算法·typescript
憨波个44 分钟前
【说话人日志】DOVER-Lap:overlap-aware diarization 输出融合算法
人工智能·深度学习·算法·音频·语音识别
叼烟扛炮1 小时前
C++第四讲:类和对象(下)
c++·算法·类和对象
Rabitebla1 小时前
vector 的骨架:三根指针、模板陷阱与迭代器失效的第一现场
开发语言·数据结构·c++·算法