Python | Leetcode Python题解之第564题寻找最近的回文数

题目:

题解:

python 复制代码
class Solution:
    def nearestPalindromic(self, n: str) -> str:
        m = len(n)
        candidates = [10 ** (m - 1) - 1, 10 ** m + 1]
        selfPrefix = int(n[:(m + 1) // 2])
        for x in range(selfPrefix - 1, selfPrefix + 2):
            y = x if m % 2 == 0 else x // 10
            while y:
                x = x * 10 + y % 10
                y //= 10
            candidates.append(x)

        ans = -1
        selfNumber = int(n)
        for candidate in candidates:
            if candidate != selfNumber:
                if ans == -1 or \
                        abs(candidate - selfNumber) < abs(ans - selfNumber) or \
                        abs(candidate - selfNumber) == abs(ans - selfNumber) and candidate < ans:
                    ans = candidate
        return str(ans)
相关推荐
2401_8846621011 分钟前
CSDN年度技术趋势预测文章大纲
python
叶子20242211 分钟前
在压力面前保持本色
python
wefly201719 分钟前
告别本地环境!m3u8live.cn一键实现 M3U8 链接预览与调试
前端·后端·python·音视频·m3u8·前端开发工具
yaoxin52112319 分钟前
358. Java IO API - 使用 relativize() 创建路径之间的相对关系
java·linux·python
biubiuibiu23 分钟前
探秘新飞机:从包装到起飞的全程指南
数据库·python
racerun31 分钟前
跳转链接批量解析工具 python
开发语言·python
q_354888515333 分钟前
计算机毕业设计:Python当当网图书大数据分析平台 Django框架 爬虫 Pandas 可视化 大数据 大模型 书籍(建议收藏)✅
大数据·爬虫·python·机器学习·数据分析·django·课程设计
知智前沿39 分钟前
什么是 RAG?通俗易懂讲解 + 核心流程梳理
人工智能·python
y = xⁿ1 小时前
【LeetCodehot100】T108:将有序数组转换为二叉搜索树 T98:验证搜索二叉树
数据结构·算法·leetcode
暮冬-  Gentle°1 小时前
Python内存管理机制:垃圾回收与引用计数
jvm·数据库·python