JavaInterview JavaInterview
首页
指南
分类
标签
归档
  • CSDN (opens new window)
  • 文档集合 (opens new window)
  • 系统架构 (opens new window)
  • 微信号 (opens new window)
  • 公众号 (opens new window)

『Java面试+Java学习』
首页
指南
分类
标签
归档
  • CSDN (opens new window)
  • 文档集合 (opens new window)
  • 系统架构 (opens new window)
  • 微信号 (opens new window)
  • 公众号 (opens new window)
  • 指南
  • 简历

  • Java

  • 面试

  • 算法

  • algorithm
  • leetcode
JavaInterview.cn
2024-09-18
目录

超级回文数Java

文章发布较早,内容可能过时,阅读注意甄别。

# 题目

如果一个正整数自身是回文数,而且它也是一个回文数的平方,那么我们称这个数为超级回文数。

现在,给定两个正整数 L 和 R (以字符串形式表示),返回包含在范围 [L, R] 中的超级回文数的数目。

示例:

输入:L = "4", R = "1000"
输出:4
解释:
4,9,121,以及 484 是超级回文数。
注意 676 不是一个超级回文数: 26 * 26 = 676,但是 26 不是回文数。

提示:

  • 1 <= len(L) <= 18
  • 1 <= len(R) <= 18
  • L 和 R 是表示 [1, 10^18) 范围的整数的字符串。
  • int(L) <= int(R)

# 思路

// 除了3以外,其余原始回文数都由0、1、2组成。 // 原始回文数在平方时,每一位都不发生进位。

# 解法


class Solution {
    // 除了3以外,其余原始回文数都由0、1、2组成。
    // 原始回文数在平方时,每一位都不发生进位。
    public int superpalindromesInRange(String left, String right) {
        int sum=0;
        for(int a=Integer.parseInt("1"+"0".repeat(String.valueOf((int)Math.sqrt(Double.parseDouble(left))).length()-1),3);;a++){
            String check=Integer.toString(a,3);
            if(!new StringBuffer(check).reverse().toString().equals(check))
                continue;
            if(Integer.parseInt(check)<(int)Math.sqrt(Double.parseDouble(left)))
                continue;
            if(Integer.parseInt(check)>(int)Math.sqrt(Double.parseDouble(right)))
                break;
            if(check.chars().map(b->((char)b-'0')*((char)b-'0')).sum()<10)
                sum++;
        }
        if(left.length()==1&&Integer.parseInt(left)<=9&&(right.length()>1||Integer.parseInt(right)>=9))
            sum++;
        return sum;
    }
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22

# 总结

  • 分析出几种情况,然后分别对各个情况实现
微信 支付宝
最近更新
01
1686. 石子游戏VI Java
08-18
02
1688. 比赛中的配对次数 Java
08-18
03
1687. 从仓库到码头运输箱子 Java
08-18
更多文章>
Theme by Vdoing | Copyright © 2019-2025 JavaInterview.cn
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式