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

CodeTop-0203Day02

Two Problem

  1. 整数反转: https://leetcode.cn/problems/reverse-integer/
  2. 无重复字符的最长子串: https://leetcode.cn/problems/longest-substring-without-repeating-characters/description/

Q1: 整数反转

本来想用字符串反转的,后来发现“不允许 64 位整数”限制,那么在构建结果时会面临溢出问题.
而且发现没有注意返回值是int, 哈哈,本来甚至直接返回字符串了->要仔细审题哦~

Answer One: 逐位弹出+数值构造(每次更新前做溢出预判)

class Solution:def reverse(self, x: int) -> int:# 边界定义INT_MAX=2**31-1     # 2147483640 + 7INT_MIN=-2**31      # -2147483648# 计算符号sign = -1 if x < 0 else 1# 边界值限制limit = INT_MAX%10 if sign == 1 else abs(INT_MIN)%10x=abs(x)# 每次计算一位数字, 累加到ans中res = 0        while x:digit = x%10x//=10# 先判断再计算, 避免计算结束后进不了下一轮循环直接输出导致溢出if res > INT_MAX//10 or ( res == INT_MAX//10 and digit > limit ): return 0res = res*10+digit# 添加符号res *=sign# 返回结果return res

Q2: 无重复字符的最长子串

通过滑动窗口解决连续区间问题

Answer One: 滑动窗口(set实现)

class Solution:def lengthOfLongestSubstring(self, s: str) -> int:# set做滑动窗口seen = set()l = 0ans = 0for r in range(len(s)):# 右边界重复时候, 重置左边界:直到删除到set中没有右边界为止while s[r] in seen:seen.remove(s[l])l += 1# 加入右边界并更新ansseen.add(s[r])ans = max(ans, r-l+1)return ans

Answer Two: 滑动窗口(哈希表dict实现)

用哈希表(dict) 记录“最后出现位置”, 解决set遇到重复,要一格一格删的问题

class Solution:def lengthOfLongestSubstring(self, s: str) -> int:# 哈希表(dict)做滑动窗口# 存储: <字符,索引> - <ch,idx>last = {}l = 0ans = 0for r, ch in enumerate(s):# 字符在窗口内, 即窗口内有重复, 则跳过此重复字符if ch in last and last[ch] >= l:l = last[ch] + 1# 记录新值last[ch] = rans = max(ans, r-l+1)return ans

Happy Ending

回忆起了滑动窗口的日子,呜呜
晚上吃完饭想起来忘记打卡了, 睡前补齐~~
另外, 今天迫于生计, 学会了将飞书文档转换成.md下载,不想上班,😭
附github地址: https://github.com/dicarne/feishu-backup?tab=readme-ov-file

---XTian by 202602032323

http://www.jsqmd.com/news/339351/

相关文章:

  • 【1002】10.4-10.8
  • 【毕业设计】基于net的实验室管理信息系统的设计与实现(源码+文档+远程调试,全bao定制等)
  • 2026 最好用的 OCR 文字识别工具推荐(在线 + API + 本地全对比)
  • 基于单片机的小功率数控直流稳压电源设计
  • stm32毕业论文(毕设)本科生任务书大全
  • 【1002】10.10,11.1-11.5
  • 【毕业设计】基于net的线上阳光好书系统(源码+文档+远程调试,全bao定制等)
  • 从金鱼记忆到博学大脑:构建AI Agent的专业检索系统全攻略
  • Net毕设项目推荐-基于ASP.NET的线上阳光好书系统基于net的线上阳光好书系统【附源码+文档,调试定制服务】
  • 基于STM32肺活量测量装置设计
  • 粒子群算法改进高斯过程回归(PSO-GPR)的锂电池剩余寿命预测附Matlab代码
  • 数字图像处理篇---Sobel算子
  • 基于微信小程序的校园跑腿系统的设计与实现
  • javascript之双重循环
  • Net计算机毕设之基于net的实验室管理信息系统的设计与实现(完整前后端代码+说明文档+LW,调试定制等)
  • 基于萤火虫算法优化LSSVM的风速预测附Matlab代码
  • 商用音乐平台的音乐版权是否可靠?一文看懂如何避坑
  • 【毕业设计】基于net的西安文化旅游信息管理系统的设计与实现(源码+文档+远程调试,全bao定制等)
  • 倍福PLC数据 转 SNMP项目案例
  • fatal: unable to access 解决方案:
  • 特斯拉Optimus V3锚定百万量产,微美全息竞逐人形机器人前沿开启AI新篇
  • 数字图像处理篇---HDE
  • Net计算机毕设之基于net的西安文化旅游信息管理系统的设计与实现(完整前后端代码+说明文档+LW,调试定制等)
  • Flutter for OpenHarmony音乐播放器App实战13:歌手列表实现
  • 开发智能体配置-隐私协议服务
  • 【计算机毕业设计案例】基于net的西安文化旅游信息管理系统的设计与实现(程序+文档+讲解+定制)
  • 如何通过API接口获取Target平台的目标详情数据
  • 香港科技大学团队发现形式化验证如何让AI推理更聪明
  • 【计算机毕业设计案例】基于net的实验室管理信息系统的设计与实现(程序+文档+讲解+定制)
  • 中国人民大学的研究突破:让AI思考过程更快更省的神奇方法