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)
相关推荐
hu_yuchen6 分钟前
问卷系统自动化测试报告
软件测试·python
郝学胜-神的一滴15 分钟前
计算机图形中的法线矩阵:深入理解与应用
开发语言·程序人生·线性代数·算法·机器学习·矩阵·个人开发
百锦再27 分钟前
第8章 模块系统
android·java·开发语言·python·ai·rust·go
m0_5913389134 分钟前
day8鹏哥C语言--函数
c语言·开发语言·算法
_OP_CHEN37 分钟前
算法基础篇:(二)基础算法之高精度:突破数据极限
算法·acm·算法竞赛·高精度算法·oj题
一只老丸40 分钟前
HOT100题打卡第30天——技巧
算法
Ashlee_code40 分钟前
经纪柜台系统解析:从今日国际金融动荡看证券交易核心引擎的变革
python·架构·系统架构·区块链·vim·柜台·香港券商
Bi_BIT1 小时前
代码随想录训练营打卡Day38| 动态规划part06
算法·动态规划
清空mega1 小时前
从零开始搭建 flask 博客实验(4)
后端·python·flask
手握风云-1 小时前
回溯剪枝的“减法艺术”:化解超时危机的 “救命稻草”(三)
算法·剪枝