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

火星wap建站搭建个人网站

火星wap建站,搭建个人网站,装修体验馆app,局网站建设意见一、题目解析 在给定顺序的数组中找出一段具有最大和的连续子数组,且大小最小为1. 二、算法原理 1.状态表示 我们可以意一一枚举出所有的子数组,但我们想要的是最大子数组,所以f[i]表示:以i位置为结尾,所有子数组的最…

一、题目解析

在给定顺序的数组中找出一段具有最大和的连续子数组,且大小最小为1.

二、算法原理

1.状态表示

 

我们可以意一一枚举出所有的子数组,但我们想要的是最大子数组,所以f[i]表示:以i位置为结尾,所有子数组的最大和

2.状态转移方程

 

f[i]当长度为1时,此时的子数组和为nums[i],当长度大于1时,此时的子数组和为[0,i-1]的子数组最大值加上nums[i],我们需要取二者中的最大值。

所以f[i]=max(nums[i],f[i-1]+nums[i]);

3.初始化

在计算f[i]中我们用到了f[i-1]当i处于0位置时,越界访问,所以我们可以直接初始化f[0],或者加一个虚拟格子用于初始化。

 

4.填表顺序

从左到右填表,保证所需值已计算

5.返回值

由于f[i]中存储的是到达i位置的最大子数组和,我们需要知道从[0,n-1] 区间内的最大值,所以返回值为f[i]中的最大值

思考与实践同等重要,在思考后可以去实现一下,链接:53. 最大子数组和 - 力扣(LeetCode)

 三、代码示例

class Solution {
public:int maxSubArray(vector<int>& nums) {int n = nums.size();vector<int> dp(n+1);for(int i = 1;i<=n;i++){dp[i] = max(nums[i-1],dp[i-1]+nums[i-1]);}int MAX = INT_MIN;//数组中存在负数,所以在比大小时用int的最小值比较,也可以赋值f[1]从2到n开始比较for(int i = 1;i<=n;i++){if(dp[i]>MAX) MAX = dp[i];}return MAX;}
};

 

看到最后,如果对您有所帮助请点赞、收藏和关注, 点点关注不迷路,我们下期再见!

http://www.dtcms.com/wzjs/185775.html

相关文章:

  • 天津seo推广方法谷歌优化推广
  • 网站开发如何做账务处理关键词搜索推广排行榜
  • 响应式网站建设必推全网天下外贸推广平台有哪几个
  • mobi域名网站推广计划方案
  • 邢台做网站哪家公司好网络推广人员
  • 自己做坑人网站的软件成都网站建设方案托管
  • 网站开发销售话术引擎优化seo怎么做
  • 2021网站建设前景怎么样谷歌站长平台
  • 丰台怎样做网站2024年最新时事新闻
  • 没有版权的图片网站百度手机助手app下载并安装
  • 用数据库代码做家乡网站爱站网注册人查询
  • 怎么做dnf辅助网站上海品牌推广公司
  • 南山区网站建设公司图片外链
  • 网站开发用哪种语言做好seo优化信
  • 可以提升自己的网站seo岗位有哪些
  • 如何在百度上做自己的网站seo课培训
  • 武汉市新洲区建设局网站百度搜索热度
  • 注册公司什么网站北京网站营销seo方案
  • 做网站要在vs安装什么百度我的订单
  • 建网站引流做淘宝百度搜索链接入口
  • 政府网站建设先进个人事迹佛山百度seo代理
  • 曼朗策划网站建设天津优化网络公司的建议
  • 泰安高端网站建设百度官方网站登录
  • 网站前后端分离怎么做看啥网一个没有人工干预的网
  • 个人网站花多少钱谷歌浏览器网页版
  • vs2010网站制作教程软文推广发稿
  • 网站跳转怎么做指数基金怎么买才赚钱
  • 横岗网站建设服务项目服务外包公司
  • 网站开发过程阶段百度快照手机版网页版
  • 做网站用什么cms 知乎百度知道官网