程序在python中生成前n个字典编号

假设我们有一个数字n,我们必须找到按词典顺序排序的前n个数字。

因此,如果输入像n = 15,那么输出将是[1、10、11、12、13、14、15、2、3、4、5、6、7、8、9]

为了解决这个问题,我们将按照以下步骤操作:

  • 数:= 1

  • ans:=具有单个元素计数的列表

  • 当ans <n时,

    • count:= count的商/ 10

    • 数:=数+ 1

    • 虽然count mod 10与0相同,但是

    • 在ans结尾处插入计数

    • count:= count的商/ 10

    • 数:=数* 10

    • 当count> n时,执行

    • 返回ans

    让我们看下面的实现以更好地理解:

    范例程式码

    class Solution:
       def solve(self, n):
          count = 1
          ans = [count]
    
          while len(ans) < n:
             count *= 10
             while count > n:
                count = count //10-
                count += 1
                while count % 10 == 0:
                   count = count //10-
                   ans.append(count)
                return ans
    
    ob = Solution()n = 15
    print(ob.solve(n))

    输入值

    15

    输出结果

    [1, 10, 11, 12, 13, 14, 15, 2, 3, 4, 5, 6, 7, 8, 9]
    猜你喜欢