leetcode上一道算法题
我的解法
var largestPalindrome = function (n) {
if (n == 1) return 9
var max = Math.pow(10, n) - 1
var maxlimit = max * max
var min = Math.pow(10, n - 1)
var minlimt = min * min
var left = parseInt(maxlimit / max)
while (left > minlimt / min) {
var temp = makePalindrome(left)
for (var i = max; i > temp / i; i--) {
if (temp % i == 0 && (temp /i <max)) return temp % 1337
}
left--
}
function makePalindrome(left) {
var res = left.toString() + left.toString().split('').reverse().join('')
return parseInt(res)
}
function isPalindrome(num) {
return num == num.toString().split('').reverse().join('')
}
};
在输入的数字是1-7的时候,结果正确
当输入的数字是8的时候,数字越界,无法得出正确结果,有没有其他思路可以解决这个问题
问题链接:https://leetcode.com/problems...
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号
走同样的路,发现不同的人生