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

Leetcode 3646. Next Special Palindrome Number

  • Leetcode 3646. Next Special Palindrome Number
    • 1. 解题思路
    • 2. 代码实现
  • 题目链接:3646. Next Special Palindrome Number

1. 解题思路

这一题我的思路的话就是首先计算出所有101710^{17}1017以下的所有满足条件的特殊回文数字,然后根据具体的nnn进行查找即可。

而要涉及如何获取所有101710^{17}1017以下的特殊回文数字,我们就是使用一个迭代的算法即可,我们只要考察每一个数字的使用情况,然后考察单侧的可能排序方法,然后将其返回即可。

2. 代码实现

给出python代码实现如下:

def get_special_palindrome():even = [2, 4, 6, 8]odd = [1, 3, 5, 7, 9]ans = set()def get_candidates(idx, candidates):nonlocal ansif len(candidates) > 8:returnif idx < 4:get_candidates(idx+1, candidates)get_candidates(idx+1, candidates + [even[idx]] * (even[idx]//2))else:if len(candidates) > 0:for purb in permutations(candidates):sub = "".join([str(x) for x in purb])ans.add(int(sub + sub[::-1]))for num in odd:dup = [str(num)] * (num//2)candi = candidates + dupif len(candi) > 8:breakfor purb in permutations(candi):sub = "".join([str(x) for x in purb])ans.add(int(sub + str(num) + sub[::-1]))returnget_candidates(0, [])return sorted(ans)SPECIAL_PALINDROME = get_special_palindrome()class Solution:def specialPalindrome(self, n: int) -> int:idx = bisect.bisect_right(SPECIAL_PALINDROME, n)return SPECIAL_PALINDROME[idx]

提交代码评测得到:耗时0ms,占用内存18.36MB。

http://www.dtcms.com/a/324689.html

相关文章:

  • 分发糖果(贪心算法)
  • Vue.js设计于实现 - 响应式(三)
  • Spring Boot 全局异常处理与日志监控实战
  • OneCode 3.0 可视化功能全面分析:从开发者到用户的全场景解析
  • 一周学会Matplotlib3 Python 数据可视化-绘制条形图(Bar)
  • 论文复现与分析内容关于一种实用的车对车(V2V)可见光通信(VLC)传播模型
  • Z20K118库中寄存器及其库函数封装-REGFILE库
  • Windows执行kubectl提示拒绝访问【Windows安装k8s】
  • imx6ull-驱动开发篇17——linux原子操作实验
  • PXE自动化安装部署OpenEuler24.03LTS
  • MySQL中的in和exists的区别
  • mmdetection3d中centerpoint解析
  • FPGA常用资源之IO概述
  • Mybatis学习之动态SQL(八)
  • 使用GLib D-Bus 库创建dbus服务端
  • 安全运维的核心
  • 使用 iFLOW-CLI GitHub Action 和 Qwen3-Coder 给 GitHub 仓库生成幻灯片风格的文档站点
  • 一个基于 Next.js 和 Puppeteer 的 Markdown 转图片服务,支持 Docker 部署和 API 集成
  • AI绘画:生成唐初秦叔宝全身像提示词
  • reuse: for booting my spring project with mvn in Windows command line
  • 理清C语言中内存操作的函数
  • LeetCode_字符串
  • 《C语言》结构体和联合体练习题--1
  • ROS2 学习笔记
  • 基于百度地图API的社区地图展示技术实现
  • 初识STL
  • ADB简介
  • 【redis初阶】--------Set 集合类型
  • Baumer高防护相机如何通过YoloV8深度学习模型实现道路坑洼的检测识别(C#代码UI界面版)
  • Linux操作系统从入门到实战(十六)冯诺依曼体系结构,操作系统与系统调用和库函数概念