# Solving Leetcode Interviews in Seconds with AI: Find Palindrome With Fixed Length


	# Introduction
	In this blog post, we will explore how to solve the LeetCode problem "2217" using AI. LeetCode is a popular platform for preparing for coding interviews, and with the help of AI tools like [Chatmagic](https://www.chatmagic.app), we can generate solutions quickly and efficiently - helping you pass the interviews and get the job offer without having to study for months.

	# Problem Statement
	> 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  

	# Explanation
	*   **Palindrome Generation:** Generate palindromes based on the given `intLength`. We construct the first half (or slightly more than half if `intLength` is odd) of the palindrome and then mirror it to create the full palindrome.
*   **Range Check:** Determine the range of possible palindromes of length `intLength`.  If the requested palindrome index (`queries[i]`) exceeds the number of possible palindromes, return -1.
*   **Efficient Calculation:** Calculate the specific palindrome based on the query index, avoiding explicit generation of all palindromes.

*   **Runtime Complexity:** O(n), where n is the length of the `queries` array. **Storage Complexity:** O(n) for the output array.

	
	# Code
	```python
	def kthPalindrome(queries, intLength):
    """
    Finds the kth smallest positive palindrome of length intLength for each query.

    Args:
        queries: A list of integers representing the desired palindrome indices.
        intLength: The desired length of the palindromes.

    Returns:
        A list of integers, where each element is the kth smallest palindrome
        or -1 if no such palindrome exists.
    """

    results = []
    for query in queries:
        half_length = (intLength + 1) // 2
        start = 10**(half_length - 1)
        end = 10**half_length - 1

        if query > end - start + 1:
            results.append(-1)
            continue

        num = start + query - 1
        num_str = str(num)

        if intLength % 2 == 0:
            palindrome = num_str + num_str[::-1]
        else:
            palindrome = num_str + num_str[:-1][::-1]

        results.append(int(palindrome))

    return results
	```
			
