剑指offer练习_动态规划_连续子数组的最大和

news/2024/11/22 13:04:40/

解决方案:

class Solution:def FindGreatestSumOfSubArray(self , array: List[int]) -> int:# write code heredp=[0]*len(array)dp[0]=array[0]max_=array[0]for i in range(1,len(array)):dp[i]=max(dp[i-1]+array[i],array[i])max_=max(max_,dp[i])return max_

思路:
使用动态规划来做,假设长度为len(array)的列表dp。
dp[i]中保存着以array[i]为结尾的子数组的最大和。
因为以第i个数为结尾所以array[i]是必然被选择的,
所以dp[i]的结果会有两个来源,dp[i-1]+array[i],或者array[i]。
我们取其中最大的即可。故dp[i]=max(dp[i-1]+array[i],array[i]).
那么就可以从头到尾遍历array,使用max_保留最大值即可。
需要注意的是,遍历时,需要从array[1]开始,因为dp[0]已经默认赋值了

参考解题思路:
方法:动态规划,设动态规划列表 dp,dp[i] 代表以元素 array[i] 为结尾的连续子数组最大和。
状态转移方程: dp[i] = Math.max(dp[i-1]+array[i], array[i]);
具体思路如下:
1.遍历数组,比较 dp[i-1] + array[i] 和 array[i]的大小;
2.为了保证子数组的和最大,每次比较 sum 都取两者的最大值;
3.用max变量记录计算过程中产生的最大的连续和dp[i];

参考链接


http://www.ppmy.cn/news/965491.html

相关文章

尝试通过图灵测试

好的,我会用中文回答你的问题。在这里,你可以随便问我任何问题,我会尽力回答你。你可以问我有关技术、学术、文化、历史等各方面的问题。请告诉我,你想问我什么?

Flink 启动就报错,但exception没提示。其中一个task failure 该怎么办?

文章目录 前言一、排查二、解决 前言 最近我在生产又遇到一个问题,就是消费着一段时间之后,忽然就不再消费了,但也不报错。观察了几次,我发现时间基本是停留在上下班高峰期数据量最大的时候。我主观猜测可能是同时间进来的数据过…

分享fred的kamailio脚本

## 来源:https://github.com/fredposner/scripts/blob/master/kamailio/mid-registrar.cfg#!KAMAILIO # # Edge proxy configuration # mid-registrar example ##!substdef "!REGISTRAR_IP!a.b.c.d!g" #!substdef "!REGISTRAR_PORT!5060!g" #!s…

公开信发起人Tegmark:中国得天独厚,为AI安全和治理做贡献丨2023智源大会回顾...

导读 近日,MIT教授、「暂停大型AI实验」公开信的发起人之一Max Tegmark发表了题为「如何掌控 AI」的精彩演说,介绍了发展可控 AI 的重要意义,提出了通过「机械可解释性」实现可控 AI 的技术路线,同时也肯定了中国在 AI 安全领域的…

跨越AI大门,一本翻译蓝皮书、一场人机共译比赛投射出怎样的未来?

大语言模型LLM是这几个月热度最高的全球明星。目前看来,AI逐渐走向复杂专业的白领型岗位,已经是必然的趋势。 OpenAI刚刚发布的35页论文中,提到了最容易受到LLM影响的职业中译员和笔译员排名第二。 以前机器翻译就是出国旅游时拍拍路标、看看…

2023数云原力大会点燃数据资产,共谋金融核心竞争力

5月6日,由国家金融与发展实验室金融科技研究中心学术指导,北京立言金融与发展研究院、神州控股、神州信息、神州数码集团共同主办的2023数云原力大会“数据资产•金融核心竞争力”主题论坛在京盛大举办。金融机构如何更好地发挥数据价值?如何…

勇创世界一流!移动云为我国数字经济发展提供有力支撑

今年2月,中共中央、国务院印发了《数字中国建设整体布局规划》,通过顶层设计及布局,擘画了我国数字经济发展蓝图。近日在国新办举行的第六届数字中国建设峰会新闻发布会上,相关负责人也对我国数字经济现阶段取得的成绩进行了总结&…

第1章信息化发展

广义的信息技术可以追溯到3500~5000年前人类语言的形成和使用,信息技术持续经历了文字的创造、印刷术的发明、电脉冲和电磁的发现与应用、计算机技术发展、新一代信息技术应用等历程。可以看出,信息技术的发展历程,伴随着人类信息沉淀的丰富、…