当前位置: 首页 > 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)全球极客挚爱的技术成长平台

http://www.lryc.cn/news/369008.html

相关文章:

  • 【AI大模型】Prompt Engineering
  • centos安装vscode的教程
  • 面试题------>MySQL!!!
  • 英伟达:史上最牛一笔天使投资
  • PDF分页处理:技术与实践
  • 数据可视化——pyecharts库绘图
  • Python的return和yield,哪个是你的菜?
  • 持续总结中!2024年面试必问 20 道分布式、微服务面试题(七)
  • AJAX 跨域
  • 3 数据类型、运算符与表达式-3.1 C语言的数据类型和3.2 常量与变量
  • NSSCTF-Web题目5
  • cnvd_2015_07557-redis未授权访问rce漏洞复现-vulfocus复现
  • 免费,C++蓝桥杯等级考试真题--第7级(含答案解析和代码)
  • python为什么要字符串格式化
  • go语言后端开发学习(三)——基于validator包实现接口校验
  • 系统架构设计师【补充知识】: 应用数学 (核心总结)
  • 【ArcGIS微课1000例】0118:一文讲清楚tif(geotiff)栅格数据格式
  • 调用第三方API --------------Python篇
  • Web自动化测试-掌握selenium工具用法,使用WebDriver测试Chrome/FireFox网页(Java
  • maven多模块项目搭建
  • PostgreSQL的视图pg_tables
  • Stable diffusion采样器详解
  • 为什么要进行渗透测试?
  • 后方碰撞预警系统技术规范(简化版)
  • Position定位
  • npm install 的原理
  • 基于I2C协议的OLED显示(利用U82G库)
  • 【文末附gpt升级秘笈】探索AGI之路:穿越大模型的冰与火,谱写未来技术的乐章
  • 国内12寸先进封装厂家的一些情况
  • 【代码随想录训练营】【Day 48】【动态规划-7】| 卡码 57, Leetcode 322, 279