首页 > 试题广场 >

环形数组的连续子数组最大和

[编程题]环形数组的连续子数组最大和
  • 热度指数:665 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 256M,其他语言512M
  • 算法知识视频讲解
给定一个长度为 n环形整数数组 nums ,返回 nums非空 连续子数组 的最大可能和 。
环形数组 意味着数组的末端将会与开头相连呈环状。例如, 的前一个数是
数据范围:



示例1

输入

[6,-3,6]

输出

12

说明

从子数组 [6,6] 得到最大和 6 + 6 = 12 
示例2

输入

[4,-2,2,-4]

输出

4

说明

从子数组 [4] 和 [4,-2,2] 都可以得到最大和 4 
头像 tonngw
发表于 2022-03-05 14:01:09
(动态规划) O(n)O(n)O(n) 这道题目是 NC19 连续子数组的最大和 的升级版,增加了环形情况。 分两种情况考虑问题: 无环情况下:求出连续子数组的最大值 res 有环情况下:先求出无环情况下连续子数组的最小值 res2,然后用数组和 sum 减去最小值 res2 即为环形情况 展开全文
头像 17c89
发表于 2024-07-19 15:36:15
import java.util.*; /** * NC302 环形数组的连续子数组最大和 * @author d3y1 */ public class Solution { /** * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 * 展开全文
头像 梅梅的双双
发表于 2024-03-27 09:01:28
/** * 动态规划,计算出非环形数组各项的最大值 * 环形数据最大和子集考虑两种情况 * 该子集横跨与不横跨 * 横跨时,反向求解总和减去最小值 * * @param nums int整型一维数组 * @return int整型 */ export func 展开全文

问题信息

难度:
1条回答 562浏览

热门推荐

通过挑战的用户

查看代码
环形数组的连续子数组最大和