Given a number N, the task is to find the Nth number which has an absolute difference of 1 between every pair of its adjacent digits.
Input : N = 5
Output : 5
The first 5 such numbers are 1,2,3,4 and 5.
Input : N = 15
Output : 23
The first 15 such numbers are 1,2,3,4,5,6,7,8,9,10,11,12,21,22 and 23.
Approach: In order to solve this problem we are using the Queue data structure.
- Prepare an empty Queue, and Enqueue all integers 1 to 9 in increasing order.
- Now perform the following operation N times.
- Dequeue and store in array arr which stores ith number of required type in arr[i].
- If (arr[i] % 10 != 0), then enqueue 10 * arr[i] + (arr[i] % 10) – 1.
- Enqueue 10 * arr[i] + (arr[i] % 10).
- If (arr[i] % 10 != 9), then enqueue 10 * arr[i] + (arr[i] % 10) + 1.
- Return arr[N] as the answer.
Below is the implementation of the given approach:
- Count of N-digit numbers with absolute difference of adjacent digits not exceeding K
- Missing occurrences of a number in an array such that maximum absolute difference of adjacent elements is minimum
- Maximise sum of absolute difference between adjacent elements in Array with sum K
- Sort an Array based on the absolute difference of adjacent elements
- Minimize the maximum absolute difference of adjacent elements in a circular array
- Absolute difference between the first X and last X Digits of N
- Print all n-digit numbers with absolute difference between sum of even and odd digits is 1
- Find the number of positive integers less than or equal to N that have an odd number of digits
- Find the smallest positive number which can not be represented by given digits
- Sort elements of an array in increasing order of absolute difference of adjacent elements
- Number of possible permutations when absolute difference between number of elements to the right and left are given
- Count of numbers upto N digits formed using digits 0 to K-1 without any adjacent 0s
- Minimum absolute difference of a number and its closest prime
- Queries to return the absolute difference between L-th smallest number and the R-th smallest number
- Print first k digits of 1/n where n is a positive integer
- Minimum Possible sum of digits in a positive multiple of N
- Count of digits after concatenation of first N positive integers
- Count positive integers with 0 as a digit and maximum 'd' digits
- Find the minimum positive integer such that it is divisible by A and sum of its digits is equal to B
- Count total number of N digit numbers such that the difference between sum of even and odd digits is 1
If you like GeeksforGeeks and would like to contribute, you can also write an article using contribute.geeksforgeeks.org or mail your article to firstname.lastname@example.org. See your article appearing on the GeeksforGeeks main page and help other Geeks.
Please Improve this article if you find anything incorrect by clicking on the "Improve Article" button below.