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取余
相关推荐
几道之旅35 分钟前
python-pptx去除形状默认的阴影
开发语言·javascript·python
2301_778658801 小时前
【Python训练营打卡】day40 @浙大疏锦行
python
西京刀客1 小时前
python常用库-pandas、Hugging Face的datasets库(大模型之JSONL(JSON Lines))
python·json·数据集·pandas·模型训练·datasets
爱coding的橙子2 小时前
每日算法刷题Day19 5.31:leetcode二分答案3道题,用时1h
算法·leetcode·职场和发展
Lilith的AI学习日记2 小时前
n8n 中文系列教程_25.在n8n中调用外部Python库
开发语言·人工智能·python·机器学习·chatgpt·ai编程·n8n
老大白菜2 小时前
构建多模型协同的Ollama智能对话系统
python·ollama
地平线开发者3 小时前
征程 6EM 常见 QConfig 配置解读与示例
算法·自动驾驶
疯狂学习GIS3 小时前
Ubuntu部署tensorflow(CPU/GPU)方法
python·深度学习·机器学习
GEEK零零七3 小时前
Leetcode 1908. Nim 游戏 II
算法·leetcode·博弈论
合作小小程序员小小店3 小时前
web安全开发,在线%机器学习异常流量检测系统%开发demo
人工智能·python·mysql·机器学习·sklearn