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

成都市建设局官方网站在中山网

成都市建设局官方网站,在中山网,重庆铜梁网站建设公司,国内虚拟助手网站题目描述: 给你一个整数数组 nums ,请你找出一个具有最大和的连续子数组(子数组最少包含一个元素),返回其最大和。 子数组 是数组中的一个连续部分。 示例 1: 输入:nums [-2,1,-3,4,-1,2,…

题目描述:

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

子数组

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

示例 1:

输入:nums = [-2,1,-3,4,-1,2,1,-5,4]
输出:6
解释:连续子数组 [4,-1,2,1] 的和最大,为 6 。

实现逻辑:

与上一题相似,都是求和为k的子数组,只不过上一题是k为一个确定值,而此题是求和为最大值。

那可以先求出数列{Sn},再从Sn中找到一个最小值min,和在其右侧的某个最大数max,使得二者的差值最小。这又与后续一个贪心算法的题很相似,找到股票进账最多的买入天数和卖出天数。

class Solution {
public:int maxSubArray(vector<int>& nums) {vector<int> Sn; // 存储前缀和int current_sum = 0;Sn.push_back(current_sum); // 初始前缀和为0// 计算所有前缀和并存入 Snfor (const int& num : nums) {current_sum += num;Sn.push_back(current_sum);}int Max = INT_MIN; // 初始化为最小可能值,以处理所有元素都是负数的情况int min_prefix_sum = 0; // 用于跟踪到目前为止遇到的最小前缀和// 遍历 Sn 来找到最大子数组和for (int i = 1; i < Sn.size(); ++i) { // 从 1 开始,因为 Sn[0] 是初始前缀和 0// 更新最大子数组和Max = max(Max, Sn[i] - min_prefix_sum);// 更新最小前缀和min_prefix_sum = min(min_prefix_sum, Sn[i]);}return Max;}
};

 那么这个代码就是基于这样的一个逻辑去实现的。当然还有更高效的算法:

class Solution {
public:int maxSubArray(vector<int>& nums) {// 初始化当前子数组的和和最大子数组和int current_sum = nums[0];  // 当前子数组和int max_sum = nums[0];      // 最大子数组和// 从第二个元素开始遍历for (int i = 1; i < nums.size(); ++i) {// 判断是否要从当前元素开始新的子数组,还是继续累加当前子数组current_sum = max(nums[i], current_sum + nums[i]);// 更新最大子数组和max_sum = max(max_sum, current_sum);}return max_sum;}
};

 错题记录:

class Solution {
public:int maxSubArray(vector<int>& nums) {int maxSum=nums[0];int currentSum=nums[0];for(int i=1;i<nums.size();i++)   //注意  一开始给的i=0;{currentSum = max(nums[i],currentSum+nums[i]);maxSum = max(maxSum,currentSum);}return maxSum;}
};


文章转载自:

http://Qo70LxMK.jcxgr.cn
http://eULlGiPc.jcxgr.cn
http://yFov3i8Y.jcxgr.cn
http://JxMeU1W6.jcxgr.cn
http://eO2uF1r7.jcxgr.cn
http://3VCjacuS.jcxgr.cn
http://KwtW9GCZ.jcxgr.cn
http://rqvAONex.jcxgr.cn
http://D010C7hI.jcxgr.cn
http://qWrCVjFt.jcxgr.cn
http://HWK0MfV4.jcxgr.cn
http://CcmzFrmL.jcxgr.cn
http://rYiKrUdo.jcxgr.cn
http://Mgj9LHk0.jcxgr.cn
http://3DopZPVs.jcxgr.cn
http://8gfe4RKk.jcxgr.cn
http://gAHCWJV7.jcxgr.cn
http://RCxn6Uvm.jcxgr.cn
http://d1OAdCoy.jcxgr.cn
http://Zuumly5O.jcxgr.cn
http://82zS6MVo.jcxgr.cn
http://pHnfMdXD.jcxgr.cn
http://JLTZxjON.jcxgr.cn
http://2NysCHuF.jcxgr.cn
http://dyfdrQeT.jcxgr.cn
http://z7q0Im9T.jcxgr.cn
http://whoh2x4l.jcxgr.cn
http://NOOlcTIC.jcxgr.cn
http://qNDpYphn.jcxgr.cn
http://5iA9eVUQ.jcxgr.cn
http://www.dtcms.com/wzjs/632975.html

相关文章:

  • 国内前十网站建设公司杭州python做网站
  • 设计师网站使用不了企业网站设计模板
  • 网站建设团队名称怎样选择网站建设
  • 爱站网关键词搜索但是网站相关内容和程序并没有建设完_其次网站公司给我公司的
  • 鞍山网站建设鞍山如何做企业网站建设
  • 做网站开发钱购物网站设计需要哪些模块
  • 织梦修改网站后备份深圳网络营销网站设计
  • wordpress站点使用期限插件wordpress 调用分类名称
  • 网销网站建设流程网站备案怎么备案
  • 网站开发软件、开发一个网站模版
  • 广州市 住房建设局网站首页html简单网页代码实例
  • 自助建站系统注册关于网站开发的请示
  • 免费php外贸网站模板济南建设工程交易信息网
  • 宣传片拍摄事件优化公司组织结构
  • 天津百度做网站多少钱百姓网招聘
  • 家教网站开发公司本科毕设做网站多少钱
  • 百度网站建设工资电子书资源wordpress主题
  • 天津网站建设设计费用锦兴建筑人才招聘平台
  • 巢湖商城网站建设网站建设彩铃语
  • 江苏网站建设价格竞价sem培训
  • 查询域名注册网站公众平台的微信网站开发
  • 帝国做网站是选择静态还是伪静态杭州seo服务公司
  • 深圳福田大型商城网站建设商城app官方下载
  • 湖北 商城网站建设多少钱个人网站-个人主页作业
  • 电力公司 网站开发报价单网站建设与维护兼职
  • 湖北建设注册中心网站山东建设局网站 王局
  • 安徽省水利建设厅官方网站找人做网站如何担保
  • 给中小企业提供网站建设服务宁波网站制作维护
  • 上海建设官方网站企业电话名录
  • 没有公司 接单做网站如何做好电商销售