首页
题库
面试
求职
学习
竞赛
More+
所有博客
搜索面经/职位/试题/公司
搜索
我要招人
去企业版
登录 / 注册
首页
>
试题广场
>
最大和的子数组
[编程题]最大和的子数组
热度指数:14989
时间限制:C/C++ 1秒,其他语言2秒
空间限制:C/C++ 32M,其他语言64M
算法知识视频讲解
请计算给出的数组(至少含有一个数字)中具有最大和的子数组(子数组要求在原数组中连续)
例如:给出的数组为
[−2,0,−3,4,−2,2,2,−5,4],
子数组
[−2,0,−3,4,−2,2,2,−5,4],具有最大的和:
6.
示例1
输入
[1]
输出
1
示例2
输入
[−2,0,−3,4,−2,2,2,−5,4]
输出
6
马上挑战
算法知识视频讲解
提交运行
算法知识视频讲解
添加笔记
求解答(0)
邀请回答
收藏(76)
分享
提交结果有问题?
81个回答
3篇题解
开通博客
王清楚
发表于 2020-05-03 10:44:30
题面描述 给定一个整数数组 nums ,找到一个具有最大和的连续子数组(子数组最少包含一个元素),返回其最大和。示例:输入: [-2,1,-3,4,-1,2,1,-5,4],输出: 6解释: 连续子数组 [4,-1,2,1] 的和最大,为 6。 题解 如果已知以位置$结尾的子数组的最大和,怎么求以位
展开全文
华科不平凡
发表于 2020-09-03 11:04:58
两种方法—— 贪心思维,设arr[i]为以元素i结尾的子数组的最大和,那么arr[i] = max(arr[i-1]+nums[i], nums[i]),最大的arr[i]即是答案 分治思维,思路很简单,最大子数组和要么存在于左侧区间,要么存在于右侧区间,要么存在于跨越左右侧的区间 显然,贪心法
展开全文
Sunmerhater
发表于 2020-06-11 15:45:37
题目描述请计算给出的数组(至少含有一个数字)中具有最大和的子数组(子数组要求在原数组中连续)例如:给出的数组为[−2,1,−3,4,−1,2,1,−5,4],子数组[−2,1,−3,4,−1,2,1,−5,4],具有最大的和:6. 解题参考网上:思路:如果累加为负则抛弃重置为下一个置,但需要保存之前
展开全文
问题信息
贪心
难度:
81条回答
76收藏
18238浏览
热门推荐
通过挑战的用户
查看代码
牛客61312...
2022-09-12 18:44:17
许你在右的年华
2022-09-12 16:12:12
三文鱼i
2022-08-30 13:46:57
落霞与孤鹜齐飞ccc
2022-08-30 11:22:34
再无涟漪
2022-08-27 22:12:39
相关试题
求序列里最长的非降序列 例如:输...
百度
贪心
评论
(12)
下面使用贪心算法的是?
阿里巴巴
贪心
评论
(1)
dota2中,以下哪个英雄不具备隐...
游戏运营
评论
(1)
iPhone X状态条像素为多少?
360集团
iOS
iOS工程师
2019
评论
(1)
来自
360公司-2019校招...
iOS10以后UIScrollVi...
360集团
iOS
iOS工程师
2018
评论
(1)
来自
360公司-2018春招...
最大和的子数组
扫描二维码,关注牛客网
意见反馈
下载牛客APP,随时随地刷题
import java.util.*; public class Solution { /** * * @param A int整型一维数组 * @return int整型 */ public int maxSubArray (int[] A) { // write code here } }
class Solution { public: /** * * @param A int整型一维数组 * @param n int A数组长度 * @return int整型 */ int maxSubArray(int* A, int n) { // write code here } };
# # # @param A int整型一维数组 # @return int整型 # class Solution: def maxSubArray(self , A ): # write code here
/** * * @param A int整型一维数组 * @return int整型 */ function maxSubArray( A ) { // write code here } module.exports = { maxSubArray : maxSubArray };
# # # @param A int整型一维数组 # @return int整型 # class Solution: def maxSubArray(self , A ): # write code here
package main /** * * @param A int整型一维数组 * @return int整型 */ func maxSubArray( A []int ) int { // write code here }
[1]
1
[−2,0,−3,4,−2,2,2,−5,4]
6