Stepping Numbers
Medium Accuracy: 53.2% Submissions: 1716 Points: 4

A number is called a stepping number if all adjacent digits have an absolute difference of 1, e.g. '321' is a Stepping Number while 421 is not. Given two integers n and m, find the count of all the stepping numbers in the range [n, m].


Input1 : n = 0, m = 21
Output1 : 13
Stepping no's are 0 1 2 3 4 5 6 7 8 
9 10 12 21

Input2 : n = 10, m = 15
Output2 : 2
Stepping no's are 10, 12

Your Task:  
You don't need to read input or print anything. Your task is to complete the function steppingNumbers() which takes the integer N and integer M as input parameters and returns the number of stepping numbers in the range between n and m.

Expected Time Complexity: O(log(M))
Expected Auxiliary Space: O(SN) where SN is the number of stepping numbers in the range

0 ≤ N, M ≤ 106

We are replacing the old Disqus forum with the new Discussions section given below.
Click here to view old Disqus comments.

to report an issue on this page.


We strongly recommend solving this problem on your own before viewing its editorial. Do you still want to view the editorial?


All Submissions

My Submissions:

Login to access your submissions.

Stepping Numbers

Output Window