1291. Sequential Digits

Difficulty:
Related Topics:
Similar Questions:

    Problem

    An integer has sequential digits if and only if each digit in the number is one more than the previous digit.

    Return a sorted list of all the integers in the range [low, high] inclusive that have sequential digits.

      Example 1:

    Input: low = 100, high = 300
    Output: [123,234]
    

    Example 2:

    Input: low = 1000, high = 13000
    Output: [1234,2345,3456,4567,5678,6789,12345]
    

      Constraints:

    Solution

    /**
     * @param {number} low
     * @param {number} high
     * @return {number[]}
     */
    var sequentialDigits = function(low, high) {
        var len1 = low.toString().length;
        var len2 = high.toString().length;
        var res = [];
        for (var i = len1; i <= len2; i++) {
            for (var j = 1; j <= 9 - i + 1; j++) {
                var num = Array(i).fill(0)
                    .map((_, index) => j + index)
                    .reduce((sum, n) => sum * 10 + n, 0);
                if (num >= low && num <= high) {
                    res.push(num);
                }
            }
        }
        return res;
    };
    

    Explain:

    nope.

    Complexity: