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

定个小目标之刷LeetCode热题(13)

今天来看看这道题,介绍两种解法

第一种动态规划,代码如下

class Solution {public int maxSubArray(int[] nums) {int pre = 0, maxAns = nums[0];for (int x : nums) {// 计算当前最大前缀和pre = Math.max(pre + x, x);// 更新最大前缀和maxAns = Math.max(maxAns, pre);}return maxAns;}
}

第二种前缀和,这种方法是评论里的大佬想出来的,可以学习一下,只要思想就是分别维护三个变量,前缀和、最小前缀和、前缀和 - 最小前缀和,其中答案就是前缀和 - 最小前缀和里最大的那个数,看代码和动态规划的思想有点类似,代码如下

class Solution {public int maxSubArray(int[] nums) {int ans = Integer.MIN_VALUE, preSum = 0, minPreSum = 0;for (int num : nums) {// 计算前缀和preSum += num;// 计算前缀和 - 最小前缀和ans = Math.max(ans, preSum - minPreSum);// 记录最小前缀和minPreSum = Math.min(minPreSum, preSum);}return ans;}
}

题目链接:题单 - 力扣(LeetCode)全球极客挚爱的技术成长平台

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • 【Linux】rsync远程数据同步工具使用
  • 新品发布 | 飞凌嵌入式RK3576核心板,为AIoT应用赋能
  • 网络基础-IP协议
  • git 下载openNeuro大文件
  • frida hook微信防撤回(PC端)
  • Rust-03-数据类型
  • 【前端】详解JavaScript事件代理(事件委托)
  • ---java 抽象类 和 接口---
  • 【设计模式】行为型设计模式之 迭代器模式
  • LeetCode 算法:合并区间c++
  • 封装了一个简单理解的iOS竖直文字轮播
  • k8s学习--kubernetes服务自动伸缩之水平收缩(pod副本收缩)VPA策略应用案例
  • Wireshark TS | 应用传输丢包问题
  • No ‘ChromeSansMM’ font 错误解决
  • 渗透测试之内核安全系列课程:Rootkit技术初探(一)
  • 【Leetcode】101. 对称二叉树
  • 「面试题」如何实现一个圣杯布局?
  • 【5+】跨webview多页面 触发事件(二)
  • 【跃迁之路】【463天】刻意练习系列222(2018.05.14)
  • Docker下部署自己的LNMP工作环境
  • ES6核心特性
  • JavaScript 基础知识 - 入门篇(一)
  • JavaScript设计模式系列一:工厂模式
  • Linux gpio口使用方法
  • Mysql优化
  • Node.js 新计划:使用 V8 snapshot 将启动速度提升 8 倍
  • Rancher如何对接Ceph-RBD块存储
  • Redis提升并发能力 | 从0开始构建SpringCloud微服务(2)
  • webpack+react项目初体验——记录我的webpack环境配置
  • 关于List、List?、ListObject的区别
  • 如何将自己的网站分享到QQ空间,微信,微博等等
  • 使用Tinker来调试Laravel应用程序的数据以及使用Tinker一些总结
  • 探索 JS 中的模块化
  • 通过git安装npm私有模块
  • 用element的upload组件实现多图片上传和压缩
  • 由插件封装引出的一丢丢思考
  • Oracle Portal 11g Diagnostics using Remote Diagnostic Agent (RDA) [ID 1059805.
  • const的用法,特别是用在函数前面与后面的区别
  • Salesforce和SAP Netweaver里数据库表的元数据设计
  • 阿里云移动端播放器高级功能介绍
  • 分布式关系型数据库服务 DRDS 支持显示的 Prepare 及逻辑库锁功能等多项能力 ...
  • ​一、什么是射频识别?二、射频识别系统组成及工作原理三、射频识别系统分类四、RFID与物联网​
  • # 深度解析 Socket 与 WebSocket:原理、区别与应用
  • #etcd#安装时出错
  • #LLM入门|Prompt#1.8_聊天机器人_Chatbot
  • (delphi11最新学习资料) Object Pascal 学习笔记---第8章第2节(共同的基类)
  • (Qt) 默认QtWidget应用包含什么?
  • (八)Spring源码解析:Spring MVC
  • (附源码)计算机毕业设计SSM智慧停车系统
  • (计算机网络)物理层
  • (原創) 物件導向與老子思想 (OO)
  • (转)如何上传第三方jar包至Maven私服让maven项目可以使用第三方jar包
  • (转)总结使用Unity 3D优化游戏运行性能的经验
  • .Net Core 微服务之Consul(三)-KV存储分布式锁
  • .Net Core中Quartz的使用方法