【剑指offer】面试题42:连续子数组的最大和(java)
输入一个整型数组,数组里有正数也有负数。数组中的一个或连续多个整数组成一个子数组。求所有子数组的和的最大值。
要求时间复杂度为O(n)。
示例1:
输入: nums = [-2,1,-3,4,-1,2,1,-5,4]
输出: 6
解释: 连续子数组 [4,-1,2,1] 的和最大,为 6。
提示:
1 <= arr.length <= 10^5
-100 <= arr[i] <= 100
代码(利用数组的规律):
class Solution {
public int maxSubArray(int[] nums) {
if(nums.length==0)
{
return 0;
}
int max = nums[0],sum = nums[0];
for(int i=1;i<nums.length;i++)
{
if(sum<0)
{
sum = 0;
}
sum = nums[i]+sum;
if(sum>max)
{
max = sum;
}
}
return max;
}
}
【剑指offer】面试题42:连续子数组的最大和(java)相关推荐
- 剑指offer面试题42. 连续子数组的最大和(动态规划)
题目描述 输入一个整型数组,数组里有正数也有负数.数组中的一个或连续多个整数组成一个子数组.求所有子数组的和的最大值. 要求时间复杂度为O(n). 思路 详见链接 代码 class Solution: ...
- 剑指 Offer 42. 连续子数组的最大和java
输入一个整型数组,数组中的一个或连续多个整数组成一个子数组.求所有子数组的和的最大值. 要求时间复杂度为O(n). 示例1: 输入: nums = [-2,1,-3,4,-1,2,1,-5,4] 输出 ...
- 【剑指offer-Java版】31连续子数组的最大和
连续子数组最大和,要求O(n)时间复杂度 思路:核心思想就是当前遍历数组的时候,遇到的是一个正数,计算这个正数加上已有的和得到一个新的和 如果这个新的和比当前的正数大,那么保留该和否者更新和为当前正数 ...
- 【LeetCode】剑指 Offer 42. 连续子数组的最大和
[LeetCode]剑指 Offer 42. 连续子数组的最大和 文章目录 [LeetCode]剑指 Offer 42. 连续子数组的最大和 一.动态规划 一.动态规划 状态定义 设动态规划列表 dp ...
- 剑指 Offer 42. 连续子数组的最大和(官解)
14天阅读挑战赛 努力是为了不平庸~ 算法学习有些时候是枯燥的,这一次,让我们先人一步,趣学算法!欢迎记录下你的那些努力时刻(算法学习知识点/算法题解/遇到的算法bug/等等),在分享的同时加深对于算 ...
- LeetCode -- 剑指 Offer 42. 连续子数组的最大和
剑指 Offer 42. 连续子数组的最大和 线性 DP 题. 针对于数组nums[i] 而言,以它为结尾的子数组分两种情况:(题目限制:必须是连续数组) num[i] 自身作为独立子数组:f[i] ...
- 剑指 Offer 42. 连续子数组的最大和
摘要 剑指 Offer 42. 连续子数组的最大和 一. 动态规划分析 1.1 动态规划思路分析 假设nums数组的长度是n,下标从0到n−1.我们用 f(i)代表以第i个数结尾的连续子数组的最大和, ...
- 【最佳解法】剑指 Offer 42. 连续子数组的最大和
我是小张同学,立志用最简洁的代码做最高效的表达 思路:动态规划 假设nums\textit{nums}nums 数组的长度是 nnn,下标从 000 到 n−1n-1n−1. 我们用 f(i)f(i) ...
- 【剑指Offer】42. 连续子数组的最大和
NowCoder 题目描述 {6, -3, -2, 7, -15, 1, 2, 2},连续子数组的最大和为 8(从第 0 个开始,到第 3 个为止). 解题思路 public class Soluti ...
- [剑指offer]面试题第[68-2]题[Leetcode][第236题][JAVA][二叉搜索树的最近公共祖先][递归]
[问题描述][中等] 235/68-1 搜索二叉树 236/68-2 二叉树 [解答思路] 递归 时间复杂度:O(N) 空间复杂度:O(N) 情况 1. , 2. , 3. , 4. 的展开写法如下. ...
最新文章
- pat德才论(java)
- spss方差分析_【案例】SPSS统计分析:多因素方差分析
- DevOps时代,企业数字化转型需要强大的工具链
- C++字符串的个人理解
- Attachments to close incidents
- 微信分享接口 略缩图 php
- HTML中IE版本条件注释整理
- Java并发——Synchronized及其实现原理
- Xshell配合Screen之ssh会话永不断开
- 如何从一个html页面调用另外一个页面的js函数,解决同一页面中两个iframe互相调用jquery,js函数的方法...
- ②C语言,求数组里相同的位置并输出
- java中handler机制_自己动手撸一个Handler,让你彻底搞懂Handler机制,揍吻你服不服?...
- SharePoint下载大文件失败 异常信息: system.OutOfMemoryException
- 侧方位停车技巧图解 教你快速便捷停车(图)
- 和python哪个容易胖_哪些吃了最容易长胖呢?
- mysql 设置忽略大小写
- 服务器CPU和普通CPU有什么区别?常用的服务器有六大区别
- Orinda无线ap
- IETester的使用(针对VB.NET视频)
- wamp 增加php 7.2,wamp环境下php7.2升级,WAMP本地环境升级php7+版本
热门文章
- [编程启蒙游戏] 1. 猜数字
- LeetCode 846. 一手顺子(map)
- LeetCode 863. 二叉树中所有距离为 K 的结点(公共祖先/ DFS+BFS)
- LintCode 207. 区间求和 II(线段树)
- java8 util.time_Java8 java.util.Date转换为java.time.ZonedDateTime
- 往java里输入坐标值_java.让用户输入x坐标,和y坐标。当用户输入完x坐标(比如200),敲enter,...
- python字典速度能比字典高多少_python – 字典访问速度比较与整数键对字符串键...
- plotplay恢复默认设置_手把手解答win10系统potplayer经常弹出自动更新提示的还原技巧...
- linux socket 面试题,面试题
- spring boot+thmyleaf ModelAndView页面传值