news 2026/10/6 20:22:07

kadane算法

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
kadane算法

题目:

给你一个整数数组nums,请你找出一个具有最大和的连续子数组(子数组最少包含一个元素),返回其最大和。

子数组是数组中的一个连续部分

nums=input() def kan(n): if not n: return 0 max_sum=n[0] now_sum=n[0] for i in n[1:]: now_sum=max(i,now_sum+i) max_sum=max(max_sum,now_sum) return max_sum print(kan(nums))

max_sum:目前所见过的最大子数列和 now_sum:以i-1为结尾的子数列的最大和

1,kadane算法每一步只考虑n[i]和n[i]+“以n[i-1]为结尾的最大子数组的和”这两个谁大-----有点像函数递归

假设now_sum=i说明i>now_sum+i说明与其实将i加到上一个子数列中不如以i为开头重开一个子数列

2.为什么是”以n[i-1]“为结尾的最大数组?

因为题目要的是连续的子数列和

3,为什么要从list的第2项(索引为1)来遍历?

因为第一次选择只能选n[0]

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/10/4 10:00:09

同或门工作原理解析:数字逻辑基础深度剖析

同或门:不只是“相等判断”,更是数字系统的隐形引擎你有没有遇到过这种情况——在调试一个嵌入式系统时,发现某个状态机卡住了,或者数据传输莫名其妙出错?翻遍代码和时序图,最后发现问题竟出在一个小小的比…

作者头像 李华
网站建设 2026/10/2 21:05:41

C语言开发中Keil5添加文件的系统学习路径

从零开始掌握Keil5文件管理:每个嵌入式开发者都该懂的底层逻辑你有没有遇到过这样的场景?刚把.c和.h文件拖进Keil项目,一编译就报错:fatal error: stm32f4xx_hal.h: No such file or directory或者明明添加了驱动源码,…

作者头像 李华
网站建设 2026/10/3 8:14:52

YOLOFuse Docker镜像构建方法:方便跨平台迁移使用

YOLOFuse Docker镜像构建方法:方便跨平台迁移使用 在智能监控、无人系统和夜间巡检等现实场景中,单一RGB图像常因光照不足或环境干扰导致目标检测性能骤降。一个典型的例子是:深夜的街道上,摄像头几乎无法识别行人,但红…

作者头像 李华
网站建设 2026/10/3 5:45:35

告别繁琐配置!YOLOFuse镜像一键部署PyTorch+CUDA环境

告别繁琐配置!YOLOFuse镜像一键部署PyTorchCUDA环境 在低光、烟雾或夜间场景中,传统基于RGB图像的目标检测模型常常“看不清”,导致漏检频发。而红外(IR)图像虽能感知热辐射,却缺乏纹理细节——单一模态各有…

作者头像 李华
网站建设 2026/10/3 8:14:52

YOLOFuse单模态用户注意:仅上传RGB无法发挥融合优势

YOLOFuse单模态用户注意:仅上传RGB无法发挥融合优势 在智能安防、夜间巡检和复杂环境感知的工程实践中,一个反复出现的问题是:为什么某些“先进模型”在真实场景中表现平平?答案往往不在于算法本身,而在于输入数据与模…

作者头像 李华