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

第53题 最大子数组和

题目

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

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

示例 1:

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

示例 2:

输入:nums = [1]
输出:1

示例 3:

输入:nums = [5,4,-1,7,8]
输出:23

提示:

  • 1 <= nums.length <= 105
  • -104 <= nums[i] <= 104

思路

求连续子数组最大的和,遍历数组,一直累加,期间如果小于0就把累加值重新赋值为0
每次累加都需要对比是否是最大和
重置为 0 是因为 负的累加和不会对后续产生增益,只会减少后续可能的最大和

代码示例

import java.util.*;public class lc53 {public static void main(String[] args) {Scanner scan = new Scanner(System.in);String str = scan.nextLine();String[] split = str.substring(1, str.length() - 1).split(",");int[] arr = new int[split.length];for (int i = 0; i < split.length; i++) {arr[i] = Integer.parseInt(split[i]);}lc53 lc = new lc53();int res = lc.maxSubArray(arr);System.out.println(res);}public int maxSubArray(int[] nums) {int max = nums[0], sum = 0;for (int i = 0; i < nums.length; i++) {sum += nums[i];max = Math.max(max, sum);if (sum < 0) {sum = 0;}}return max;}
}

http://www.dtcms.com/a/536366.html

相关文章:

  • 网站源码超市中国建设银行大沥网站
  • leetcode 242. 有效的字母异位词 python
  • 免费网站建设模板好看的商城网站
  • 0382. 链表随机节点
  • Vue3 路由完全指南:从基础配置到权限控制
  • 宁波seo推广咨询长沙 建站优化
  • 邯郸做网站熊掌号什么自己做网站
  • Spring Boot3零基础教程,监听 Kafka 消息,笔记78
  • 【Swift】LeetCode 41. 缺失的第一个正数
  • cuda编程笔记(34)-- 内存访问控制与缓存提示
  • webserver类续
  • 条款22:使用Pimpl惯用法时,将特种成员函数的定义放到实现文件中
  • 基于python大数据的省级城市政企客户业务分析系统
  • 合肥微网站制作初中做语文综合题的网站
  • dedecms做论坛网站广州网页设计师学校
  • Blender + MCP 全流程详细图文教程
  • 自定义classload实现热加载案例
  • 上海网站建设seo站霸网络网站建设推销拜访客户怎么开头
  • Spring Bean的生命周期 第二次思考
  • HttpServletResponse下载文件
  • vue3的路由详解
  • Spring Boot 生产就绪特性浅析(一)
  • 如何做彩票网站信息手机上打开html的软件
  • 【图像处理基石】图像对比度增强入门:从概念到实战(Python+OpenCV)
  • 网站建设公司六安全国连锁装修公司加盟
  • 直播互动小程序端Web运营端接入指南
  • Java—抽象类
  • 坛墨网站建设wordpress 邀请
  • idc网站模版百度提交
  • 树莓派3B+降低功耗及恢复脚本