news 2026/5/5 7:14:50

千问 LeetCode 2081.K 镜像数字的和 TypeScript实现

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
千问 LeetCode 2081.K 镜像数字的和 TypeScript实现

这是一道结合了回文数构造和进制转换的题目。

🧠 核心思路

  1. 题目目标:
    找到最小的 n 个正整数,使得它们在十进制下是回文数,且在 k 进制下也是回文数。最后返回这些数的和。

  2. 解题策略:

    • 暴力枚举不可行:如果从 1 开始逐个判断,效率太低,因为回文数很稀疏。
    • 构造回文数:我们应该直接生成十进制下的回文数,从小到大。
    • 生成方法:
      • 通过枚举回文数的左半部分来生成完整的回文数。
      • 例如:左半部分是 12,可以生成奇数长度回文 121(中间加一位)或偶数长度回文 1221(直接拼接反转)。
    • 验证:对生成的每个十进制回文数,将其转换为 k 进制,检查是否也是回文。
  3. 算法流程:

    1. 从长度为 1 的数字开始(1-9),生成长度为 len 的所有回文数。
    2. 对于每个生成的回文数,检查其 k 进制形式是否为回文。
    3. 如果是,累加到结果中,计数器加一。
    4. 当找到 n 个满足条件的数时,返回总和。

💻 TypeScript 代码实现

function kMirror(k: number, n: number): number {
let sum = 0;
let count = 0;

// 从长度为 1 的回文数开始,逐步增加长度 for (let len = 1; count 0) { kBaseStr += (n % k).toString(); n = Math.floor(n / k); } // 检查是否是回文 return kBaseStr === kBaseStr.split('').reverse().join('');

}

⚡ 优化版本(更高效的回文生成)

function kMirror(k: number, n: number): number {
let sum = 0;
let count = 0;

// 从长度为1的回文数开始 for (let len = 1; count 0) { kBaseStr += (n % k).toString(); n = Math.floor(n / k); } return kBaseStr === kBaseStr.split('').reverse().join('');

}

📝 复杂度分析

  1. 时间复杂度:

    • 主要取决于需要检查多少个十进制回文数才能找到 n 个 k 进制回文数。
    • 生成回文数的效率远高于暴力遍历。
  2. 空间复杂度:O(log N),用于存储进制转换的字符串。

💡 关键点

  1. 主动生成回文数:比暴力遍历高效得多。
  2. 双重回文检查:先检查十进制回文,再检查 k 进制回文。
  3. 提前终止:找到 n 个就立即返回。
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/5/5 7:12:35

3篇6章2节:ggdist 科研绘图闭环的四大核心组件

ggdist 作为 ggplot2 生态中专注于分布可视化与不确定性表达的扩展包,其核心设计围绕一套高度统一的底层体系展开,所有可视化函数、统计变换、美学映射均依托四大核心组件构建。这四大核心并非独立存在,而是相互嵌套、层层支撑,从数据计算、图形绘制、尺度控制到结果输出形…

作者头像 李华
网站建设 2026/5/5 7:09:27

JavaSE-07

目录 一.继承 二.继承的格式&使用 三.继承中使用封装(Private) 四.继承的注意事项 五.继承中成员变量的访问特点 六.继承中成员方法的访问特点 七.方法重写(Override) 八.抽象类 九.抽象方法 十.示例 一.继承 定义:Java 里的继承,就是让一…

作者头像 李华
网站建设 2026/5/5 6:55:36

多模态交互架构:触觉与AI融合的无障碍设计

1. 多模态交互架构设计解析这个创新系统通过整合三种核心组件构建了一个完整的交互闭环:硬件设备层负责物理交互与反馈,交互管理层处理输入输出协调,对话AI模块实现语义理解与数据分析。这种架构设计源于对视障用户真实需求的深入洞察——他们…

作者头像 李华
网站建设 2026/5/5 6:51:52

【花雕学编程】Arduino BLDC 之基于UWB精准定位的宠物陪伴机器人

基于 Arduino 与 BLDC(无刷直流电机)驱动的宠物陪伴机器人,结合 UWB(Ultra-Wideband,超宽带)精准定位技术,代表了当前消费级及轻量级服务机器人中“高精度自主移动”的一个典型技术集成方向。以…

作者头像 李华