领扣LintCode算法问题答案-1216. 最大的回文乘积
发布日期:2021-06-30 17:10:23 浏览次数:2 分类:技术文章

本文共 1093 字,大约阅读时间需要 3 分钟。

领扣LintCode算法问题答案-1216. 最大的回文乘积

目录

1216. 最大的回文乘积

描述

找到由两个n位数字的乘积构成的最大回文数。

由于结果可能非常大,您应该返回最大的回文数 mod 1337。

  • n的范围是[1,8]。

样例 1:

输入: 2输出: 987说明: 99 x 91 = 9009, 9009 % 1337 = 987

题解

public class Solution {
/** * @param n: the number of digit * @return: the largest palindrome mod 1337 */ public int largestPalindrome(int n) {
// write your code here if (n == 1) {
return 9; } long maxN = (long) Math.pow(10, n) - 1; long minN = maxN / 10 + 1; long maxNum = maxN * maxN; for (long num = maxN; num >= minN; num--) {
StringBuilder sb = new StringBuilder(); long ret = Long.parseLong(num + sb.append(num).reverse().toString()); if (ret <= maxNum) {
for (long m = maxN; m >= Math.max(minN, ret / maxN); m--) {
if (ret % m == 0) {
return (int) (ret % 1337); } } } } return n; }}

鸣谢

非常感谢你愿意花时间阅读本文章,本人水平有限,如果有什么说的不对的地方,请指正。

欢迎各位留言讨论,希望小伙伴们都能每天进步一点点。

转载地址:https://le-yi.blog.csdn.net/article/details/108899469 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:领扣LintCode算法问题答案-1218. 补数
下一篇:领扣LintCode算法问题答案-1214. 许可证密钥格式

发表评论

最新留言

做的很好,不错不错
[***.243.131.199]2024年04月10日 05时50分41秒