【LeetCode-中等题】53. 最大子数组和

news2025/1/10 21:28:08

题目

在这里插入图片描述

题解一:暴力解法:

在这里插入图片描述


//暴力解法  每个元素为都循环一次,持续更新最大值
      int maxS = Integer.MIN_VALUE;
      for(int i = 0;i<nums.length;i++){
          int num = 0;
        for(int j = i;j<nums.length;j++){
          num = num+nums[j];
          maxS =  Math.max(maxS,num);
        }
      }
      return maxS;
    }

题解二:贪心算法

核心就是:若当前指针所指向的元素之前的和小于0,则直接丢弃当前元素之前的数列,使sum=当前元素,若当前指针所指向的元素之前的和大于0,正常相加当前元素

在这里插入图片描述

  int maxSum = Integer.MIN_VALUE;//最大和
     int preSum = Integer.MIN_VALUE ;//当前位置的和
     for(int i = 0;i<nums.length;i++){

        if(preSum < 0 ) preSum = nums[i];
        else   preSum +=nums[i];

        maxSum = Math.max(maxSum,preSum);
     }
  return maxSum;

题解三:动态规划

核心就是:若前一个元素>0,则将其加到当前元素上,更新当前元素
注意,最后还需和第一位进行max比较

在这里插入图片描述

if(nums.length ==0) return 0;
  if(nums.length ==1) return nums[0];
  int max = Integer.MIN_VALUE;
  
  for(int i =1;i<nums.length;i++){
    if(nums[i-1] > 0){
     nums[i] = nums[i]+nums[i-1];//若前一个元素>0,则将其加到当前元素上   所以上面的循环从1开始的
    }
     max =  Math.max(max,nums[i]);
    }
     max =  Math.max(max,nums[0]);//最后还需要和第1位再比较一下   ,因为第一个元素没有进入比较
   return max;

或者可以直接跳过第一个元素,到第二个元素才开始进行对前一个元素进行对比

 if(nums.length ==0) return 0;
  if(nums.length ==1) return nums[0];
  int max = Integer.MIN_VALUE;
  for(int i =0;i<nums.length;i++){
    if(i>0&&nums[i-1] > 0){//第一个元素,默认不改变,第一个元素往后的元素才和前面的元素对比
     nums[i] = nums[i]+nums[i-1];//若前一个元素>0,则将其加到当前元素上   所以上面的循环从1开始的
    }
     max =  Math.max(max,nums[i]);
    }
   return max;

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/918067.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

数据库——事务,事务隔离级别

文章目录 什么是事务?事务的特性(ACID)并发事务带来的问题事务隔离级别实际情况演示脏读(读未提交)避免脏读(读已提交)不可重复读可重复读防止幻读(可串行化) 什么是事务? 事务是逻辑上的一组操作&#xff0c;要么都执行&#xff0c;要么都不执行。 事务最经典也经常被拿出…

DNQ算法原理(Deep Q Network)

1.强化学习概念 学习系统没有像很多其它形式的机器学习方法一样被告知应该做出什么行为 必须在尝试了之后才能发现哪些行为会导致奖励的最大化 当前的行为可能不仅仅会影响即时奖励&#xff0c;还会影响下一步的奖励以及后续的所有奖励 每一个动作(action)都能影响代理将来的…

Java中Date日期类的使用方法

一、构造器实例化对象 //使用无参构造器 Date date1 new Date(); System.out.println(date1);//使用有参构造器&#xff0c;参数为long类型的时间戳&#xff0c;将时间戳自动转为时间对象 Date date2 new Date(60000); System.out.println(date2); 运行结果&#xff1a; 说…

直击软博会|润和软件国产操作系统HopeStage助力行业数字化实践

2023年8月22日下午&#xff0c;2023中国&#xff08;南京&#xff09;软博会信息技术应用创新大会在南京国际博览会议中心顺利召开&#xff0c;润和软件作为信创操作系统领域的核心力量受邀参会并发表演讲。 会上&#xff0c;润和软件云计算事业部总经理蔡志旻发表了《HopeStag…

电压放大器有什么特点和作用

电压放大器是一种常见的电子设备&#xff0c;具有许多特点和作用。下面安泰电子来详细介绍电压放大器的特点和作用。 电压放大器具有以下几个特点&#xff1a; 增益高&#xff1a;电压放大器能够将输入信号的电压放大到较高的水平。这意味着它可以增加信号的强度&#xff0c;使…

身份证号、姓名脱敏(*隐藏关键信息)

// 过滤器 filters: {// 加密身份证明号码encryptSfzmhmHandler(val) {// 加密年月日return val ? val.replace(val.slice(6, -4), ********) : }// 加密姓名encryptXmHandler(val) {let value if (val && val.length 2) {// 两个字的*最后一个字value val.replace…

数据管道的重要性:为什么您需要关注!

一、引言 在当今的信息时代&#xff0c;数据已经成为了企业的生命线。无论是商业决策&#xff0c;还是产品研发&#xff0c;都离不开对数据的依赖。然而&#xff0c;如何有效地管理和使用这些数据&#xff0c;却是许多企业面临的难题。这时&#xff0c;数据管道的重要性就显现出…

四川玖璨电子商务有限公司:短视频运营的关键

​短视频运营作为当前互联网行业的热点之一&#xff0c;具有广阔的发展前景。然而&#xff0c;要在激烈的竞争中脱颖而出&#xff0c;就需要掌握一些关键点。下面将从内容创作、用户增长、社交互动和商业变现等几个方面来探讨短视频运营的关键。 一、内容创作。 内容是短视频…

【leetcode 力扣刷题】交换链表中的节点

24. 两两交换链表中的节点 24. 两两交换链表中的节点两两节点分组&#xff0c;反转两个节点连接递归求解 24. 两两交换链表中的节点 题目链接&#xff1a;24. 两两交换链表中的节点 题目内容&#xff1a; 题目中强调不能修改节点内部值&#xff0c;是因为如果不加这个限制的话…

跨境电商shopee平台怎么样?Shopee选品工具是什么?

跨境电商shopee平台市场可以说是相当活跃和竞争激烈的电商市场。作为东南亚地区最大的电商平台之一&#xff0c;跨境电商shopee平台覆盖了多个国家和地区&#xff0c;包括新加坡、马来西亚、泰国、印度尼西亚、越南、菲律宾和台湾。 跨境电商shopee平台市场的活跃程度体现在以下…

广州华锐互动:3D航天科学网上展馆让你沉浸式体验航天文化

3D航天科学网上展馆是一种利用先进的3D技术和虚拟现实技术展示航天科技的场所。与传统的展馆相比&#xff0c;3D航天科学网上展馆具有许多独特的特色。以下是3D航天科学网上展馆的一些主要特色&#xff1a; 1.沉浸式体验&#xff1a;3D航天科学网上展馆通过虚拟现实技术为观众提…

Windows10查看图片的分辨率

文章目录 查看方法 查看方法 鼠标悬停在想查看分辨率大小的图片上&#xff0c;稍等那么零点几秒&#xff0c;就会弹出图片的分辨率信息&#xff0c;如图所示&#xff1a;

单片机系统的电磁兼容设计

目录 1.什么是单片机 2.单片机的应用领域 3.单片机系统常见的电磁干扰 4.电磁干扰对单片机造成的影响 5.如何消除单片机系统的电磁干扰 1.什么是单片机 单片机是一种集成电路芯片&#xff0c;也被称为微控制器。它集成了中央处理器&#xff08;CPU&#xff09;、存储器、输…

湘潭大学 湘大 XTU OJ 1441 平衡三进制2 题解(非常详细)

前置知识 很多时候我们觉得一件事情难&#xff0c;其实并不是这一整件事情难&#xff0c;而是中间有一部分&#xff08;极端情况是几乎所有&#xff09;东西我们不知道&#xff0c;没有相关的经验&#xff0c;所以我们不断地学习 这道题目的前置知识是十进制转三进制怎么转换…

朋友圈发圈文案防折叠不折叠转换流量主小程序开发

朋友圈发圈文案防折叠不折叠转换流量主小程序开发 不折叠&#xff1a;转发此条动态&#xff0c;帮我解锁朋友圈新技能&#xff0c;让你的朋友圈更加精彩&#xff01;折叠转不折叠&#xff1a;转发此动态&#xff0c;即可开启朋友圈折叠转不折叠的功能&#xff0c;让你的朋友圈…

第七章 类、结构体、指针与引用

目录 1.基础知识2.练习题2.1 斐波那契数列2.2 替换空格2.3 求12…n2.3.1 方法一&#xff1a;2.3.2 方法二&#xff1a; 2.4 在O(1)时间删除链表结点2.5 合并两个排序的链表2.6 左旋转字符串2.7 把字符串转换成整数2.8 反转链表2.9 两个链表的第一个公共结点2.10 删除链表中重复…

错误代码0xc0000225要怎么解决?一招教你快速搞定

在运行 Windows 10 操作系统时&#xff0c;您可能会遇到一个错误代码为 0xc0000225 的问题&#xff0c;导致无法正常启动系统。这个错误通常与系统引导文件或硬盘驱动器有关。在本文中&#xff0c;我们将详细介绍多种解决方法来解决 0xc0000225 错误&#xff0c;以帮助您重新恢…

如何选择图像标注工具?

图像标注属于数据标注的一种类型。也许数据标注是人工智能领域不为人知的工作&#xff0c;但也是取得人工智能项目的成功不可或缺的一个环节。数据标注平凡而不平庸&#xff0c;标注的数据质量将直接影响模型的质量。选择恰当高效的标注工具也决定着数据的产出质量。 图像标注作…

AI 绘画Stable Diffusion 研究(十四)SD 图生图+剪映制作人物说话视频

大家好&#xff0c;我是风雨无阻。 前一篇&#xff0c;我们详细介绍了使用 SadTlaker制作数字人视频案例&#xff0c;感兴趣的朋友请前往查看:AI 绘画Stable Diffusion 研究&#xff08;十三&#xff09;SD数字人制作工具SadTlaker使用教程。 对于没有安装 SadTlaker 插件的朋友…

AST+chatGPT降维系列|某cookie反爬之acw_sc__v2分析

关注它&#xff0c;不迷路。 本文章中所有内容仅供学习交流&#xff0c;不可用于任何商业用途和非法用途&#xff0c;否则后果自负&#xff0c;如有侵权&#xff0c;请联系作者立即删除&#xff01; 1. 目标网站 aHR0cHM6Ly93d3cuY2R0LWVjLmNvbS9ob21lL21vcmUtenlnZy5od…