专栏首页算法与编程之美Python|力扣周考——顺次表

Python|力扣周考——顺次表

问题描述

我们定义「顺次数」为:每一位上的数字都比前一位上的数字大1的整数。请你返回由[low, high] 范围内所有顺次数组成的有序列表(从小到大排序)。

示例 1:

输出:low = 100, high = 300

输出:[123,234]

示例 2:

输出:low = 1000, high = 13000

输出:[1234,2345,3456,4567,5678,6789,12345]

解决方案

我们从提也可以看出我们需要的数字是后一位比前一位大1,我们利用这个特点,假如一个数为四位数,我们根据规律按位置顺序对其分别对其进行相减,便可以得到三个“1”,假如原数为五位数,则得到四个“1”,以此类推,将这些“1”放入一个列表中。我们根据原数的长度创建一个与理想结果长度相同的只含“1”的新列表。遍历范围内的所有数字,如果两列表相同,则这个数满足我们要求的要求,将其填入列表等待输出。

Python代码

def sequentialDigits(low, high): num_list =[] #装满足条件的数字的列表 for num in range(low,high+1): new_num = str(num) lenth = len(new_num) a = [1] *(lenth-1) #想得到的理想列表 list1 = [(int(new_num[i]) - int(new_num[i-1])) for i in range(1,lenth)]#创建列表得我们球的数字中的“1” if list1 == a : num_list.append(num) return num_list if __name__ == "__main__": print(sequentialDigits(1000,13000))#运行程序 print(sequentialDigits(100,300))

最后通过这样的比对得到我们要的列表结果:

图1 运行结果

结语

这道题的解题方法还有很多,比如还可以使用枚举法将其一一列举出来,也能够得到我们需要的结果,我们要做的是如何从总选择最简单的方法,从时间复杂度方面考虑我们的解题是否好。

END

实习编辑 | 王楠岚

责 编 | 李和龙

本文分享自微信公众号 - 算法与编程之美(algo_coding),作者:李和龙

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2019-12-19

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • python|输出给定范围内的顺次数

    我们定义「顺次数」为:每一位上的数字都比前一位上的数字大 1 的整数。 请你返回由 [low, high] 范围内所有顺次数组成的有序 列表(从小到大排序)

    算法与编程之美
  • Web|网页制作秘密武器之列表

    列表(list)是指是指在网页中讲相关信息以及条目的方式有序或无序排列而形成的表。常用的列表有无序列表(ul),有序列表(ol)和定义列表(dl)等,接下来,我...

    算法与编程之美
  • 计算机基础|bad_pool_caller蓝屏故障解决方案

    电脑故障往往整的人措不及防,这不,我就遇上了蓝屏死机。以前遇到蓝屏,就重新启动机器,也能得到解决,所以也没有在意蓝屏死机的问题。这次,我遇上了bad_pool_...

    算法与编程之美
  • 计蒜客蓝桥杯模拟赛 九宫格

    题目 将数字 1…9 填入一个3×3 的九宫格中,使得格子中每一横行和的值全部相等,每一竖列和的值全部相等。请你计算有多少种填数字的方案。

    用户4492257
  • 利用爬虫和树莓派3打造自己的语音天气闹钟

    前言 前不久又一次一个人在他乡过了生日,悄悄买了一台树莓派3送给自己做生日礼物。终于算是实现了大学以来一直的一个小愿望。买回来之后当然不能让他落灰,于是就利用自...

    木制robot
  • 【每周一坑】校验文件哈希

    先说个通知,给参与了码上行动的同学:又一期展示学习成果的编程擂台活动开始了,即是练手的好机会,又能得到助教的全程支持,还可以得积分赢奖金。赶紧来报名吧!从课程首...

    Crossin先生
  • JS魔法堂:再识Bitwise Operation & Bitwise Shift

    Brief                                 linkFly的《JavaScript-如果...没有方法》中提及如何手写Math....

    ^_^肥仔John
  • python中逻辑运算符“+”的特殊之处

    num = num + num 与 num += num 的区别(其他语言中这两种方式可以划等号,但是python中不可以):

    py3study
  • 互斥锁

      当一组线/进程中的每个线/进程都在等待某个事件发生,而只有这组线/进程中的其他进程才能触发该事件,这就称这组线/进程发生了死锁。

    py3study
  • C#并发实战Parallel.ForEach使用

    前言:最近给客户开发一个伙食费计算系统,大概需要计算2000个人的伙食。需求是按照员工的预定报餐计划对消费记录进行检查,如有未报餐有刷卡或者有报餐没刷卡的...

    梁规晓

扫码关注云+社区

领取腾讯云代金券