zoukankan      html  css  js  c++  java
  • 【leetcode】1291. Sequential Digits

    题目如下:

    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:

    • 10 <= low <= high <= 10^9

    解题思路:和 【leetcode】1215.Stepping Numbers 思路是一样的,利用BFS的思想,把所有符合条件的数字找出来。

    代码如下:

    class Solution(object):
        def sequentialDigits(self, low, high):
            """
            :type low: int
            :type high: int
            :rtype: List[int]
            """
            res = []
            queue = range(1,10)
            while len(queue) > 0:
                val = queue.pop(0)
                if val >= low and val <= high:
                    res.append(val)
                elif val > high:
                    continue
                last = int(str(val)[-1])
                if last == 9:continue
                new_val = str(val) + str(last + 1)
                queue.append(int(new_val))
            return sorted(res)
  • 相关阅读:
    wxpython自定义按钮
    wxPython修改文本框颜色
    strcat函数
    fopen作用
    Less 语法快速入门
    Echarts构建图表
    伪数组
    MVC,MVP,MVVM基本原理
    VUE常见指令
    Apply,Call,bind对比
  • 原文地址:https://www.cnblogs.com/seyjs/p/12082325.html
Copyright © 2011-2022 走看看