智联招聘网站建设,手机网站设计公司优选亿企邦,市场调研报告范文大全,微信公众号开发教程视频如果一个整数 n 在 b 进制下#xff08;b 为 2 到 n - 2 之间的所有整数#xff09;对应的字符串 全部 都是 回文的 #xff0c;那么我们称这个数 n 是 严格回文 的。
给你一个整数 n #xff0c;如果 n 是 严格回文 的#xff0c;请返回 true #xff0c;否则返回 fals…如果一个整数 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) {vectorint 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;}
};此算法时间复杂度为Onlgn空间复杂度为Olgn。
解法二对于n≥5n\geq5n≥5的任何数它在n-2进制下一定是12不是一个严格回文的数字对于n4它在2进制下是100也不是严格回文的数字因此结果一定是false
class Solution {
public:bool isStrictlyPalindromic(int n) {return false;}
};此算法时间复杂度为O1空间复杂度为O1。