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

05力扣普通数组

53. 最大子数组和

示例 1:

输入:nums = [-2,1,-3,4,-1,2,1,-5,4]输出:6解释:连续子数组 [4,-1,2,1] 的和最大,为 6 。
就是前缀和 class Solution: def maxSubArray(self, nums: List[int]) -> int: #遍历前缀和 pre = 0 #最小前缀和 min_presum = 0 #最大值 max_value = -inf for i in nums: pre += i max_value = max(max_value , pre - min_presum) min_presum = min(pre , min_presum) return max_value

56. 合并区间

class Solution: def merge(self, intervals: List[List[int]]) -> List[List[int]]: 左端点排序 intervals.sort(key = lambda x:x[0]) 返回数组 ref = [] for i in intervals: ref不为空且ref最后一项右端点>=当前i的左端点 if ref and i[0] <= ref[-1][1]: 合并 ref[-1][1] = max(ref[-1][1],i[1]) else: ref.append(i) return ref

189. 轮转数组

class Solution: def rotate(self, nums: List[int], k: int) -> None: k = k % len(nums) def reverse(left:int ,right:int): while left < right: nums[left],nums[right] = nums[right],nums[left] left += 1 right -= 1 三次反转 if k != 0: reverse(0,len(nums)-1) reverse(0,k-1) reverse(k,len(nums)-1)

238. 除了自身以外数组的乘积

原数组: [1 2 3 4] 左部分的乘积: 1 1 1*2 1*2*3 右部分的乘积: 2*3*4 3*4 4 1 结果: 1*2*3*4 1*3*4 1*2*4 1*2*3*1
class Solution: def productExceptSelf(self, nums: List[int]) -> List[int]: left_value=[1]*len(nums) tmp = 1 for i in range(1,len(nums)): left_value[i] = left_value[i-1]*nums[i-1] for i in range(len(nums)-2,-1,-1): tmp = tmp * nums[i+1] left_value[i] = left_value[i]*tmp return left_value

41. 缺失的第一个正数

class Solution: def firstMissingPositive(self, nums: list[int]) -> int: n = len(nums) for i in range(n): # 如果当前学生的学号在 [1,n] 中,但(真身)没有坐在正确的座位上 while 1 <= nums[i] <= n and nums[nums[i] - 1] != nums[i]: # 那么就交换 nums[i] 和 nums[j],其中 j 是 i 的学号 j = nums[i] - 1 # 减一是因为数组下标从 0 开始 nums[i], nums[j] = nums[j], nums[i] # 找第一个学号与座位编号不匹配的学生 for i in range(n): if nums[i] != i + 1: return i + 1 # 所有学生都坐在正确的座位上 return n + 1
http://www.jsqmd.com/news/1300417/

相关文章:

  • 2026实体门店数字化选型参考:6大自助收银机厂商综合实力对比 - 互联网科技品牌测评
  • linux中文编程之一入门002
  • 树莓派I2C配置与设备地址查看全攻略:从原理到实战
  • 多模态舞蹈动作分析数据集
  • Java+Vue3学生成绩分析系统开发实践
  • 终极WSA开发者指南:如何解决Windows安卓子系统常见问题
  • 终极分屏游戏指南:使用Nucleus Coop免费实现本地多人同屏体验
  • 构建百万级实时排行榜:Redis Sorted Set 与 Java 实战指南
  • 口碑好的干发帽生产厂家在哪?高阳山沐纺织品支持 ODM 原创 - 优质新闻发布
  • Python数据可视化进阶:从配色原理到高级技巧的完整指南
  • 嵌入式开发实战:20秒实现步进电机按钮与遥控双重控制
  • 瑞芯微RV1126B开发板(EASY-EAI-PI2) OTG切换成U盘模式
  • 老板夜话 · 《园区十二号》第7章:限流三天
  • 大气层系统完整指南:5分钟学会Switch自制系统安装与优化
  • 系统架构设计:常见问题与解答
  • 基于STM32与蓝牙的智能热水器系统设计:从传感器到APP的物联网实践
  • Web3D数字孪生可视化项目落地避坑:源码交付与轻量化优化实战心得
  • AI如何实现论文到PPT的智能转换与设计优化
  • MP4Box.js深度解析:浏览器端MP4文件处理的终极解决方案
  • 可灵画质增强失效的7个致命误用场景,资深CV工程师紧急预警:第4种99%人正在踩坑
  • 如何在演讲中精准掌控时间:PPTTimer计时器完整指南
  • 终极GitHub加速方案:告别网络卡顿的完整指南
  • 2026年8月厦门非急救救护车转运指南:机场病患接驳如何安排 - 小校长
  • MPV_lazy:如何通过预配置方案实现专业级播放体验的技术解析
  • APK Installer:Windows上安装Android应用的完整解决方案
  • 3分钟解决视频无法下载难题:VideoDownloadHelper终极免费解决方案
  • 招标、投标、中标、流标四大基础概念通俗拆解
  • 好用的静电电压实时监控系统哪家好,苏州通格电子(KERUISI可瑞斯)品牌怎么样?
  • 神经网络与模型预测控制融合算法实践
  • CI/CD集成文档翻译:自动化多语言发布流水线实践