Day63力扣打卡

打卡记录

寻找最近的回文数(模拟)

链接

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)
相关推荐
一条闲鱼_mytube9 分钟前
面试算法高频08-动态规划-03
算法·面试·动态规划
鑫—萍12 分钟前
C++——入门基础
c语言·开发语言·c++·学习·算法
.格子衫.27 分钟前
013几何数学——算法备赛
算法
半青年1 小时前
单例模式:全局唯一性在软件设计中的艺术实践
java·c++·python·单例模式
fen_fen3 小时前
Miniconda Windows10版本下载和安装
python
kyle~3 小时前
深度学习---Pytorch概览
人工智能·pytorch·python·深度学习
PXM的算法星球5 小时前
【leetcode】3524 求出数组的X值1
算法·leetcode·职场和发展
老胖闲聊6 小时前
Python PyAutoGUI库【GUI 自动化库】深度解析与实战指南
python
椰羊~王小美8 小时前
LeetCode -- Flora -- edit 2025-04-27
算法·leetcode·职场和发展
GeekABC8 小时前
FastAPI系列06:FastAPI响应(Response)
开发语言·python·fastapi·web