当前位置: 首页 > news >正文

leetcode刷题笔记(中等)1291顺次数

一、问题描述

二、我的超时思路(暴力)

class Solution: def sequentialDigits(self, low: int, high: int) -> List[int]: # 暴力字符超时(暴力数字也超时) # 思路及关注点: # 1.进入循环取当前值长度。 # 2.做位数计算时for循环从1开始。 # 3.位数相减!=1时跳出,但位数转int类型。 # 4.将符合的字符串存入,最后统一返回。 # 5.针对个人:True False break ans = [] for num in range(low,high+1): s = str(num) flag = True for i in range(1,len(s)): if int(s[i])-int(s[i-1]) != 1: flag = False break if flag == True: ans.append(num) return ans

三、可通过代码

class Solution: def sequentialDigits(self, low: int, high: int) -> List[int]: # 思路: # 1.首位可能性:1-9 # 2.依次递增,判断是否在low和hight之间 # 从起点不断拼接下一位(last+1),直到超过 high 停止 ans = [] for x in range(1,10): star_number = x next_number = x+1 # 易错点1:先定义两个位数值,所有都进入循环 while while star_number <high and next_number <=9: star_number =star_number*10+next_number if low <= star_number <= high: ans.append(star_number) # 易错点2:前一位已经通过更新变化了,后一位也要变化+1 next_number = next_number+1 # 易错点3:排序后输出 ans.sort() return ans

不用遍历 low~high 每个数字判断(数字范围大时低效),直接按起点生成所有合法顺次数,再筛选落在 [low,high] 的数:

  1. 起点只能是 1~9(首位不能 0);
  2. 从起点不断拼接下一位(last+1),直到超过 high 停止;
  3. 收集所有生成的顺次数,过滤区间,最后排序返回。
  • 生成逻辑num * 10 + next_digitstart=1,next=2:110+2=12;next=3:1210+3=123;
  • 优势:生成量极少,最多几十个数,远小于遍历全部数字;
http://www.jsqmd.com/news/1189328/

相关文章:

  • YOLOv8模型从训练到ONNX部署全流程实战指南
  • STM32与PAM8124构建高保真音频放大系统
  • APK Installer:在Windows上高效安装Android应用的3大创新设计
  • 基于混沌理论的图像加密算法设计与Python实现
  • 2026年7月最新南京积家官方售后客服电话及服务网点地址查询 - 积家官方售后服务中心
  • YOLOv12骑手头盔检测系统:技术解析与工程实践
  • Java Stream API与Lambda表达式在外卖CPS订单批量处理中的高效应用模式
  • Python 30 分钟速通:AI 开发用到的语法就够了
  • 计算机毕业设计之jsp网吧管理系统
  • 一个网站删掉1400万人的照片,他花十年做了一把钥匙
  • C++函数对象与Lambda表达式:从基础原理到STL实战应用
  • YOLOv8热成像人员检测:从原理到实战的全流程指南
  • 深入理解 JavaScript 表单与焦点事件:从基础到实战
  • 帝舵中国官方售后服务中心|服务热线及门店详细地址权威信息公告(2026年7月最新) - 帝舵中国官方服务中心
  • Hugging Face:AI开发者的模型库与工具链全解析
  • 30岁后转行AI大模型的实战指南与职业突围策略
  • Ubuntu Touch Linux mobile OS | Waydroid for Android app
  • 上海AI软件定制公司有哪些?先看场景,别一上来就谈模型
  • STM32与PAM8904实现智能分级警报系统设计
  • 企业想选靠谱商用AI数字人系统?2026年主流产品怎么选
  • MOOC数据科学课程完课率低的真相:课程设计错配学习规律
  • 终极远程桌面游戏手柄解决方案:5分钟实现Xbox手柄远程控制
  • GO_面向对象_方法
  • 深入理解 JavaScript 事件体系:Window、鼠标与键盘事件详解
  • 策略梯度定理:强化学习中的策略优化基础
  • 基于iEMS智能能源管理系统的全流程优化---( MSP硫酸镍)
  • 精度评估与 Bad Case 优化:从 mAP 到业务指标
  • 基于TPS61170和STM32的高效DC-DC升压转换设计
  • 2026年7月最新无锡萧邦官方售后客服中心地址电话及服务网点分布 - 萧邦中国官方服务中心
  • 贪吃蛇算法与双语言实现:从状态机到BFS寻路