Skip to content

Commit 839e609

Browse files
authored
Create 2081-sum-of-k-mirror-numbers.js
1 parent ee1d5c5 commit 839e609

File tree

1 file changed

+26
-0
lines changed

1 file changed

+26
-0
lines changed

2081-sum-of-k-mirror-numbers.js

+26
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
const isPalindrome = (s) => { let n = s.length; let i = 0; let j = n - 1; while (i < j) { if (s[i++] != s[j--]) return false; } return true; };
2+
3+
const int = parseInt;
4+
/**
5+
* @param {number} k
6+
* @param {number} n
7+
* @return {number}
8+
*/
9+
var kMirror = function(k, n) {
10+
let res = 0;
11+
for (let len = 1; ; len++) {
12+
let min = 10 ** ((len - 1) >> 1), max = 10 ** ((len + 1) >> 1);
13+
for (let base = min; base < max; base++) {
14+
let x = base;
15+
for (let i = len & 1 ? int(base / 10) : base; i > 0; i = int(i / 10)) {
16+
x = x * 10 + i % 10;
17+
}
18+
let s = x.toString(k);
19+
if (isPalindrome(s)) {
20+
res += x;
21+
n--;
22+
if (!n) return res;
23+
}
24+
}
25+
}
26+
};

0 commit comments

Comments
 (0)