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取余
相关推荐
秋难降3 分钟前
线段树的深度解析(最长递增子序列类解题步骤)
数据结构·python·算法
猿榜4 分钟前
Python基础-控制结构
python
Ratten18 分钟前
【Python 实战】---- 实现一个可选择、配置操作的批量文件上传工具(三)上传类的实现
python
楚韵天工24 分钟前
基于GIS的无人机模拟飞行控制系统设计与实现
深度学习·算法·深度优先·无人机·广度优先·迭代加深·图搜索算法
阿里云大数据AI技术1 小时前
【跨国数仓迁移最佳实践6】MaxCompute SQL语法及函数功能增强,10万条SQL转写顺利迁移
python·sql
你也向往长安城吗1 小时前
推荐一个三维导航库:three-pathfinding-3d
javascript·算法
杜子不疼.1 小时前
《Python学习之文件操作:从入门到精通》
数据库·python·学习
微小的xx2 小时前
java + html 图片点击文字验证码
java·python·html
百度智能云2 小时前
VectorDB+FastGPT一站式构建:智能知识库与企业级对话系统实战
算法
金色旭光2 小时前
uv 现代化的虚拟环境管理工具
python·python进阶