Given a positive integer X. The task is to find the smallest even number E such that
E > X and all digits in X and E are same.
Note: All the digits in X should be same with digits in E.
Input: X = 34722641 Output: 34724126 Explanation: Next greater number with same digits as in input is 34724126.
Input: X = 111 Output: -1 Explanation: You can't rearrange the digits to get an answer.
You don't need to read input or print anything. Your task is to complete the function leftIndex() which takes a string X as inputs, which is representing the number and returns the required smallest even number. If no such even number exists return -1.
Expected Time Complexity: O(Log(N)! )
Expected Auxiliary Space: O(Log(N))
1 ≤ N ≤ 109
We strongly recommend solving this problem on your own before viewing its editorial. Do you still want to view the editorial?Yes