我有这个问题:
palindrome如果从左到右和从右到左读取它在十进制系统中的表示是相同的,则整数称为a .对于给定K的不超过1000000数字的正整数,写入最大回文的值大于K输出.始终显示数字而不带前导零.输入
第一行包含整数t,测试用例的数量.整数K在下t一行中给出.产量
对于每一个K,输出最小的回文大于K.例
输入:
2
808
2133
Run Code Online (Sandbox Code Playgroud)
输出:
818
2222
Run Code Online (Sandbox Code Playgroud)
我的代码将输入转换为字符串,并评估字符串的任一端,进行相应的调整并向内移动.但是,问题要求它可以采用长达10 ^ 6位的值,如果我尝试解析大数字,我会得到一个数字格式异常,即
Integer.parseInt(LARGENUMBER);
Run Code Online (Sandbox Code Playgroud)
要么
Long.parseInt(LARGENUMBER);
Run Code Online (Sandbox Code Playgroud)
并且LARGENUMBER超出了范围.任何人都可以想到一个解决方案或如何处理这么大的数字?
您可以使用BigInteger类来处理这样的大整数.
但是,我不会指望它在如此庞大的尺寸上有效率.因为它仍然使用O(n^2)算法进行乘法和转换.
| 归档时间: |
|
| 查看次数: |
1467 次 |
| 最近记录: |