当前位置: 首页 > article >正文

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

题目:

题解:

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)

http://www.kler.cn/a/398688.html

相关文章:

  • vue3 如何调用第三方npm包内部的 pinia 状态管理库方法
  • LabVIEW中的UDP与TCP比较
  • 了解 Solon MVC 的参数注入规则
  • torchvision库在进行图片转换操作中报antialias参数没有显式设置会导致不同图片后端中的值不统一的警告信息
  • [系统安全] PE文件知识在免杀中的应用
  • 【SpringBoot】公共字段自动填充
  • 腾讯云内容合规基于springboot架构设计
  • 如何给openshift 单节点集群配置hugepage
  • 基于Java Springboot电商个性化推荐系统
  • c++数字雨实现
  • ubuntu 安装protobuf 3.4.0
  • C语言第十一周课——函数的调用
  • 网络层9——虚拟专用网VPN和网络地址转换NAT
  • 多目标优化算法:多目标红嘴蓝鹊优化算法(MORBMO)求解UF1-UF10,提供完整MATLAB代码
  • 开源,一天200star,解锁视频字幕生成新方式——一款轻量级开源字幕工具,免费,支持花字,剪映最新会员模式吃相太难看了
  • 配置LVGL的WIN下vscode的仿真demo
  • (动画版)排序算法 -希尔排序
  • ubuntu-server-22.04上手指南
  • 前端—Cursor编辑器
  • 【Android compose原创组件】在Compose里面实现内容不满一屏也可以触发边界阻尼效果的一种可用方法
  • Python中的with语句
  • Node.js事件循环:解锁异步编程的奥秘
  • Linux系统:线程
  • nginx证书流式响应配置
  • NLP论文速读(微软出品)|使用GPT-4进行指令微调(Instruction Tuning with GPT-4)
  • 跨平台WPF框架Avalonia教程 七