首页 > 软件开发 > C语言 >

leetcode第53题最大子序和

来源:互联网 2023-03-16 19:11:36 307

题目描述为:给定一个整数数组 nums,找到一个具有最大和的连续子数组(子数组最少包含一个元素),返回其最大和。eit办公区 - 实用经验教程分享!

本文分析最大子序列和的情况并给出一次遍历的算法实现。eit办公区 - 实用经验教程分享!

eit办公区 - 实用经验教程分享!

eit办公区 - 实用经验教程分享!

工具/原料

  • notepad 等编辑器
  • g 编译器

方法/步骤

  • 1

    使用一次遍历算法:遍历数组,累加数组中元素,并判断累加后数值是否最大。所以,我们初始化定义max保存最大子序和,num保持累加数据。eit办公区 - 实用经验教程分享!

    eit办公区 - 实用经验教程分享!

    leetcode第53题最大子序和eit办公区 - 实用经验教程分享!

  • 2

    初始化时设置数组中第一个元素为max初始值eit办公区 - 实用经验教程分享!

    eit办公区 - 实用经验教程分享!

    eit办公区 - 实用经验教程分享!

    leetcode第53题最大子序和eit办公区 - 实用经验教程分享!

  • 2本页面非法爬取自百度经验
  • 3

    遍历数组,并判断累加后数值是否大于max,并更新最大值eit办公区 - 实用经验教程分享!

    eit办公区 - 实用经验教程分享!

    leetcode第53题最大子序和eit办公区 - 实用经验教程分享!

  • 4

    如果在遍历的过程中遇到负数怎么办?因为我们不知道后续是否还会出现正数,比如-1,2的序列,所以继续累加。eit办公区 - 实用经验教程分享!

    当累加后值为负数时,我们重新开始累加。eit办公区 - 实用经验教程分享!

    eit办公区 - 实用经验教程分享!

    eit办公区 - 实用经验教程分享!

    leetcode第53题最大子序和eit办公区 - 实用经验教程分享!

  • 5

    最后,我们给出完整算法如下所示;算法的关键就在于理解以及处理,当累加为负数时,重新进行累加。eit办公区 - 实用经验教程分享!

    eit办公区 - 实用经验教程分享!

    eit办公区 - 实用经验教程分享!

    leetcode第53题最大子序和eit办公区 - 实用经验教程分享!

  • 注意事项

    • 理解算法时编码实现的基础
    • 除了暴力算法外,我们还要多思考一些能减少复杂度的高效算法

    以上方法由办公区教程网编辑摘抄自百度经验可供大家参考!eit办公区 - 实用经验教程分享!


    标签: C语言计算机

    办公区 Copyright © 2016-2023 www.bgqu.net. Some Rights Reserved. 备案号:湘ICP备2020019561号统计代码