Given two integers N and K, the task is to find the count of N-digit numbers such that the absolute difference of adjacent digits in the number is not greater than K.
Input: N = 2, K = 1
Explanation: The numbers are 10, 11, 12, 21, 22, 23, 32, 33, 34, 43, 44, 45, 54, 55, 56, 65, 66, 67, 76, 77, 78, 87, 88, 89, 98, 99
Input: N = 3, K = 2
The simplest approach is to iterate over all N digit numbers and check for every number if the adjacent digits have an absolute difference less than or equal to K.
Time Complexity: O(10N * N)
- Initialize a DP array where dp[i][j] stores the count of numbers having i digits and ending with j.
- Iterate the array from 2 to N and check if the last digit was j, then the allowed digits for this place are in the range (max(0, j-k), min(9, j+k)). Perform a range update on this range.
- Now use Prefix Sum to get the actual answer.
Below is the implementation of the above approach:
Time Complexity: O(N)
Auxiliary Space: O(N)
- Count of N-digit numbers with absolute difference of adjacent digits not exceeding K | Set 2
- Count of numbers upto N having absolute difference of at most K between any two adjacent digits
- Nth positive number whose absolute difference of adjacent digits is at most 1
- Construct a Matrix with no element exceeding X and sum of two adjacent elements not exceeding Y
- Count of numbers upto N digits formed using digits 0 to K-1 without any adjacent 0s
- Arrange first N natural numbers such that absolute difference between all adjacent elements > 1
- Print all n-digit numbers with absolute difference between sum of even and odd digits is 1
- Count total number of N digit numbers such that the difference between sum of even and odd digits is 1
- Count Numbers in Range with difference between Sum of digits at even and odd positions as Prime
- 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
- Missing occurrences of a number in an array such that maximum absolute difference of adjacent elements is minimum
- Count of numbers between range having only non-zero digits whose sum of digits is N and number is divisible by M
- Count numbers in given range such that sum of even digits is greater than sum of odd digits
- Sort elements of an array in increasing order of absolute difference of adjacent elements
- Absolute difference between set and unset bit count in N
- Count pairs in an array such that the absolute difference between them is ≥ K
- Count of N-digit Numbers having Sum of even and odd positioned digits divisible by given numbers
If you like GeeksforGeeks and would like to contribute, you can also write an article using contribute.geeksforgeeks.org or mail your article to email@example.com. 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.