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

LeetCode 2396. 严格回文的数字

如果一个整数 n 在 b 进制下(b 为 2 到 n - 2 之间的所有整数)对应的字符串 全部 都是 回文的 ,那么我们称这个数 n 是 严格回文 的。

给你一个整数 n ,如果 n 是 严格回文 的,请返回 true ,否则返回 false 。

如果一个字符串从前往后读和从后往前读完全相同,那么这个字符串是 回文的 。

示例 1:

输入:n = 9
输出:false
解释:在 2 进制下:9 = 1001 ,是回文的。
在 3 进制下:9 = 100 ,不是回文的。
所以,9 不是严格回文数字,我们返回 false 。
注意在 4, 5, 6 和 7 进制下,n = 9 都不是回文的。

4 <= n <= 105

解法一:直接模拟:

class Solution {
public:bool isStrictlyPalindromic(int n) {for (int i = 2; i <= n - 2; ++i) {vector<int> digitArr;int nBak = n;while (nBak) {digitArr.push_back(nBak % i);nBak /= i;}int digitNum = digitArr.size();int loopNum = digitNum >> 1;for (int j = 0; j < loopNum; ++j) {if (digitArr[j] != digitArr[digitNum - j - 1]) {return false;}}}return true;}
};

此算法时间复杂度为O(nlgn),空间复杂度为O(lgn)。

解法二:对于n≥5n\geq5n5的任何数,它在n-2进制下一定是12,不是一个严格回文的数字,对于n=4,它在2进制下是100,也不是严格回文的数字,因此结果一定是false:

class Solution {
public:bool isStrictlyPalindromic(int n) {return false;}
};

此算法时间复杂度为O(1),空间复杂度为O(1)。

http://www.lryc.cn/news/13930.html

相关文章:

  • 【RocketMQ】源码详解:Broker启动流程
  • vue事件
  • 研报精选230220
  • kubernetes sd configs配置详解
  • Linux查看文件的命令
  • 如何单独清除某个网页的缓存(reload)
  • 魔兽世界经典怀旧服务器架设教程
  • Interview系列 - 05 Java|Iterator迭代器|集合继承体系|Set List Map接口特性|List实现类区别
  • LeetCode 1769. 移动所有球到每个盒子所需的最小操作数
  • MKS SKIPR V1.0船长版(Voron 2.4 R2)配置简要笔记
  • 90后,转行软件测试3年,从月入7000+到月入过万,整理出的这一万字经验分享。
  • Java之关于String字符串笔试面试重点
  • mdio协议
  • kubectl命令
  • 题库-JAVASE01
  • Java序列化机制
  • 3款强大到离谱电脑软件,都是效率神器,从此远离加班
  • 【项目】Vue3+TS CMS 登录模块搭建
  • Java 8 的那些常见写法
  • PyQt5数据库开发1 4.3 QSqlTableModel 之 相关槽函数的实现(多图长文详解)
  • QT 设计一个串口调试工具,用一个工程就能轻松解决,外加虚拟串口工具模拟调试,在日常工作中可类比模块间通信,非常详细建议收藏
  • OpenSumi 是信创开发云的首选
  • JdbcTemplate常用方法解析
  • 生物素标记试剂1869922-24-6,Alkyne-PEG3-Biotin PC,炔烃PEG3生物素PC
  • CS224W课程学习笔记(三):DeepWalk算法原理与说明
  • rk3568 开发板Ubuntu系统说明
  • Windows和Linux常用HASH算法使用命令
  • 货仓选址 AcWing(JAVA)
  • SPI+DMA传输性能比较
  • Centos7系统编译Hadoop3.3.4