LeetCode 2217. Find Palindrome With Fixed Length Solution in Java, C++, Python & More | Explanation + Code

CoderIndeed
0
2217. Find Palindrome With Fixed Length

Description

Given an integer array queries and a positive integer intLength, return an array answer where answer[i] is either the queries[i]th smallest positive palindrome of length intLength or -1 if no such palindrome exists.

A palindrome is a number that reads the same backwards and forwards. Palindromes cannot have leading zeros.

 

Example 1:

Input: queries = [1,2,3,4,5,90], intLength = 3
Output: [101,111,121,131,141,999]
Explanation:
The first few palindromes of length 3 are:
101, 111, 121, 131, 141, 151, 161, 171, 181, 191, 202, ...
The 90th palindrome of length 3 is 999.

Example 2:

Input: queries = [2,4,6], intLength = 4
Output: [1111,1331,1551]
Explanation:
The first six palindromes of length 4 are:
1001, 1111, 1221, 1331, 1441, and 1551.

 

Constraints:

  • 1 <= queries.length <= 5 * 104
  • 1 <= queries[i] <= 109
  • 1 <= intLength <= 15

Solutions

Solution 1

PythonJavaC++GoTypeScriptRust
class Solution: def kthPalindrome(self, queries: List[int], intLength: int) -> List[int]: l = (intLength + 1) >> 1 start, end = 10 ** (l - 1), 10**l - 1 ans = [] for q in queries: v = start + q - 1 if v > end: ans.append(-1) continue s = str(v) s += s[::-1][intLength % 2 :] ans.append(int(s)) return ans(code-box)

Post a Comment

0Comments

Post a Comment (0)

#buttons=(Accept !) #days=(20)

Our website uses cookies to enhance your experience. Check Now
Accept !