网易首页 > 网易号 > 正文 申请入驻

2026-05-05:分割的最大得分。用go语言,给定一个长度为 n 的整数数组 nums。需要在所有满足 0 ≤ i < n−1 的位置中选择一...

0
分享至

2026-05-05:分割的最大得分。用go语言,给定一个长度为 n 的整数数组 nums。需要在所有满足 0 ≤ i < n−1 的位置中选择一个切分点 i,并计算该切分点的得分。

对每个切分点 i:

  • • 先计算前缀和:prefixSum(i) = nums[0] + nums[1] + … + nums[i]

  • • 再计算后缀最小值:suffixMin(i) = 在 nums[i+1] 到 nums[n−1] 这段中的最小元素

  • • 分数定义为:score(i) = prefixSum(i) − suffixMin(i)

最后,要求返回所有这些切分点 i 中 score(i) 的最大值。

2 <= nums.length <= 100000。

-1000000000 <= nums[i] <= 1000000000。

输入: nums = [10,-1,3,-4,-5]。

输出: 17。

解释:

最优的分割下标是 i = 2,score(2) = prefixSum(2) - suffixMin(2) = (10 + (-1) + 3) - (-5) = 17。

题目来自力扣3788。

解题过程详细拆解 一、明确题目核心规则

  1. 1.切分点范围:数组长度为5,切分点i只能是0、1、2、3(满足0 ≤ i < 4,保证前后都有元素);

  2. 2.单个切分点得分计算

  • • 前缀和:nums[0]nums[i]的总和;

  • • 后缀最小值:nums[i+1]到数组末尾的最小数字;

  • • 得分 = 前缀和 - 后缀最小值;

3.目标:找出所有切分点中最大的得分

二、整体解题步骤(分两大阶段) 第一阶段:计算数组的总前缀和

首先把数组所有元素全部相加,得到一个总累加和,这个总和是后续计算所有切分点前缀和的基础。

  • • 数组元素:10、-1、3、-4、-5

  • • 总累加和 = 10 + (-1) + 3 + (-4) + (-5) =3

第二阶段:从后往前遍历,逐个计算所有切分点的得分

我们从数组最后一个元素开始,倒着向前遍历(保证前缀始终至少有1个元素),遍历过程中做三件事:

  1. 1. 用总累加和减去当前遍历到的元素,得到当前切分点的前缀和

  2. 2. 持续更新后缀最小值(记录当前及右侧所有元素的最小值);

  3. 3. 计算当前切分点的得分,记录遍历过程中的最大得分

三、逐一遍历切分点的详细过程

数组索引:0(10)、1(-1)、2(3)、3(-4)、4(-5)
总累加和初始值:3
后缀最小值初始值:极大值(比所有数字都大)
最大得分初始值:极小值(比所有可能得分都小)

第一步:遍历索引4(元素-5)

  1. 1. 总累加和 减去 元素-5 → 3 - (-5) = 8(这是切分点i=3的前缀和:10-1+3-4=8);

  2. 2. 更新后缀最小值:当前后缀最小值(极大值)和-5比较,取更小的-5;

  3. 3. 计算得分:8 - (-5) = 13;

  4. 4. 记录最大得分:当前最大为13。

第二步:遍历索引3(元素-4)
  1. 1. 总累加和 减去 元素-4 → 8 - (-4) = 12(这是切分点i=2的前缀和:10-1+3=12);

  2. 2. 更新后缀最小值:当前后缀最小值(-5)和-4比较,取更小的-5;

  3. 3. 计算得分:12 - (-5) = 17;

  4. 4. 记录最大得分:17>13,更新最大得分为17。

第三步:遍历索引2(元素3)
  1. 1. 总累加和 减去 元素3 → 12 - 3 = 9(这是切分点i=1的前缀和:10-1=9);

  2. 2. 更新后缀最小值:当前后缀最小值(-5)和3比较,取更小的-5;

  3. 3. 计算得分:9 - (-5) = 14;

  4. 4. 记录最大得分:14<17,最大得分保持17。

第四步:遍历索引1(元素-1)
  1. 1. 总累加和 减去 元素-1 → 9 - (-1) = 10(这是切分点i=0的前缀和:10);

  2. 2. 更新后缀最小值:当前后缀最小值(-5)和-1比较,取更小的-5;

  3. 3. 计算得分:10 - (-5) = 15;

  4. 4. 记录最大得分:15<17,最大得分保持17。

四、最终结果

遍历完所有切分点后,最大得分是17,与题目输出一致。

五、时间复杂度与额外空间复杂度 1. 时间复杂度

  • • 第一步计算总累加和:遍历整个数组,时间复杂度为O(n)(n为数组长度);

  • • 第二步倒序遍历计算得分:再次遍历整个数组,时间复杂度为O(n)

  • • 总时间复杂度:O(n)(线性时间,能高效处理n=10⁵的最大数据量)。

2. 额外空间复杂度
  • • 整个过程只使用了固定数量的变量(总累加和、后缀最小值、最大得分等);

  • • 没有创建任何与数组长度n相关的额外数组、集合等数据结构;

  • • 总额外空间复杂度:O(1)(常数级空间)。

总结
  1. 1. 解题核心:倒序遍历+动态维护前缀和与后缀最小值,避免重复计算,保证高效性;

  2. 2. 时间复杂度:O(n),适合处理十万级长度的数组;

  3. 3. 额外空间复杂度:O(1),仅使用固定变量,无额外内存开销。

Go完整代码如下:

package main

import (
"fmt"
"math"
)

func maximumScore(nums []int) int64 {
preSum := 0
for _, x := range nums {
preSum += x
}

ans := math.MinInt
sufMin := math.MaxInt
for i := len(nums) - 1; i > 0; i-- { // 保证前缀至少有一个数
preSum -= nums[i] // 撤销
sufMin = min(sufMin, nums[i])
ans = max(ans, preSum-sufMin)
}
return int64(ans)
}

func main() {
nums := []int{10, -1, 3, -4, -5}
result := maximumScore(nums)
fmt.Println(result)
}

Python完整代码如下:

# -*-coding:utf-8-*-

from typing import List

def maximumScore(nums: List[int]) -> int:
pre_sum = sum(nums)
ans = float('-inf')
suf_min = float('inf')
for i in range(len(nums) - 1, 0, -1): # 保证前缀至少有一个数
pre_sum -= nums[i] # 撤销
suf_min = min(suf_min, nums[i])
ans = max(ans, pre_sum - suf_min)
return int(ans)

def main():
nums = [10, -1, 3, -4, -5]
result = maximumScore(nums)
print(result)

if __name__ == "__main__":
main()

C++完整代码如下:

  





using namespace std;

long long maximumScore(vector& nums) {
int preSum = 0;
for (int x : nums) {
preSum += x;
}

int ans = INT_MIN;
int sufMin = INT_MAX;

for (int i = nums.size() - 1; i > 0; i--) { // 保证前缀至少有一个数
preSum -= nums[i]; // 撤销
sufMin = min(sufMin, nums[i]);
ans = max(ans, preSum - sufMin);
}

return (long long)ans;
}

int main() {
vector nums = {10, -1, 3, -4, -5};
long long result = maximumScore(nums);
cout << result << endl;
return 0;
}

我们相信人工智能为普通人提供了一种“增强工具”,并致力于分享全方位的AI知识。在这里,您可以找到最新的AI科普文章、工具评测、提升效率的秘籍以及行业洞察。 欢迎关注“福大大架构师每日一题”,发消息可获得面试资料,让AI助力您的未来发展。

特别声明:以上内容(如有图片或视频亦包括在内)为自媒体平台“网易号”用户上传并发布,本平台仅提供信息存储服务。

Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.

相关推荐
热点推荐
因邻里矛盾,山东临沂一女子电话被当招嫖信息写公厕,男邻居犯诽谤罪判拘役三个月缓刑六个月,女子:处罚过轻已上诉,因此事抑郁多次轻生

因邻里矛盾,山东临沂一女子电话被当招嫖信息写公厕,男邻居犯诽谤罪判拘役三个月缓刑六个月,女子:处罚过轻已上诉,因此事抑郁多次轻生

扬子晚报
2026-08-18 10:31:48
“龙餐厅”原型刘磊自曝,和演员没共鸣,英美大兵里有他的保护伞

“龙餐厅”原型刘磊自曝,和演员没共鸣,英美大兵里有他的保护伞

嫹笔牂牂
2026-08-18 07:06:29
今日开庭!弟弟举报哥哥"冒名顶替上大学",哥哥:如属实弟弟也应被取消高考成绩及学籍

今日开庭!弟弟举报哥哥"冒名顶替上大学",哥哥:如属实弟弟也应被取消高考成绩及学籍

互联网大观
2026-08-18 08:48:09
冒用日本名人名义摆花篮,杨国福公开致歉

冒用日本名人名义摆花篮,杨国福公开致歉

新浪财经
2026-08-18 10:46:39
《牛来》最新票房预测涨至1.35亿,日本及港台地区影迷飞赴内地观影

《牛来》最新票房预测涨至1.35亿,日本及港台地区影迷飞赴内地观影

导筒directube
2026-08-18 01:26:15
网友吐槽格力字体像“格尸”“格P”,批评令人误解、意味不好,建议修改,评论区已经吵翻天

网友吐槽格力字体像“格尸”“格P”,批评令人误解、意味不好,建议修改,评论区已经吵翻天

谭谈社会
2026-08-18 11:26:52
曝招商蛇口高管赵某强奸未遂被抓,曾是高考状元,毕业于清华大学

曝招商蛇口高管赵某强奸未遂被抓,曾是高考状元,毕业于清华大学

180视角
2026-08-18 11:51:26
163欧元“空调”被德国权威测试拆穿:里面只有PC风扇和加热元件,冷风模式不降温

163欧元“空调”被德国权威测试拆穿:里面只有PC风扇和加热元件,冷风模式不降温

硅屿手记
2026-08-17 17:45:51
7名印度贫困工人发现17.96克拉钻石:挖矿两年没收获,一场雨冲出价值35万元优质钻

7名印度贫困工人发现17.96克拉钻石:挖矿两年没收获,一场雨冲出价值35万元优质钻

红星新闻
2026-08-18 12:23:29
605179,15天10板!股民:“已经高攀不起了”

605179,15天10板!股民:“已经高攀不起了”

新浪财经
2026-08-18 10:52:55
“弟弟举报哥哥冒名上大学”案母亲首度露面,否认哥哥改名换姓:弟弟小时候很听话,长大当上公务员就飘了,嫌我们农村人穷

“弟弟举报哥哥冒名上大学”案母亲首度露面,否认哥哥改名换姓:弟弟小时候很听话,长大当上公务员就飘了,嫌我们农村人穷

上观新闻
2026-08-18 10:44:36
杨幂上海走穴生图曝光,整个人瘦成麻杆,黑裙裆部露一坨太尴尬

杨幂上海走穴生图曝光,整个人瘦成麻杆,黑裙裆部露一坨太尴尬

嫹笔牂牂
2026-08-18 07:11:42
江苏本周前期多云升温后期雨水上线

江苏本周前期多云升温后期雨水上线

金台资讯
2026-08-18 07:38:09
“我女儿是榴莲和海鲜养大的”,贫民窟公主火了,网友:自己留着吧

“我女儿是榴莲和海鲜养大的”,贫民窟公主火了,网友:自己留着吧

泽泽先生
2026-08-17 14:15:09
美国前国务卿蓬佩奥近日发文称:"81年前的今天,日本帝国投降,人类历史上最惨烈的战争就此结束。"

美国前国务卿蓬佩奥近日发文称:"81年前的今天,日本帝国投降,人类历史上最惨烈的战争就此结束。"

扶苏聊历史
2026-08-18 13:44:06
杨毅提出质疑:CBA可以打,全运会可以打,男篮比赛却打不了

杨毅提出质疑:CBA可以打,全运会可以打,男篮比赛却打不了

体育哲人
2026-08-18 06:50:03
作家李娟:靠《我的阿勒泰》还清房贷,隐居新疆,和母亲10年未见

作家李娟:靠《我的阿勒泰》还清房贷,隐居新疆,和母亲10年未见

娱说瑜悦
2026-08-18 13:12:43
打赏千万要求女主播陪睡后续,聊天记录太露骨,更恶心的还在后面

打赏千万要求女主播陪睡后续,聊天记录太露骨,更恶心的还在后面

叨唠
2026-08-18 04:00:54
刘慧被逮捕!

刘慧被逮捕!

农民日报
2026-08-18 10:17:48
这5个行业,已经发不出工资了!真的很严重了

这5个行业,已经发不出工资了!真的很严重了

职场资深秘书
2026-08-18 11:20:55
2026-08-18 17:00:49
moonfdd incentive-icons
moonfdd
福大大架构师每日一题
1401文章数 79关注度
往期回顾 全部

科技要闻

特斯拉Cybercab有望本月投放运营

头条要闻

女子落水仰漂近1小时 路过市民:起初以为是假人模特

头条要闻

女子落水仰漂近1小时 路过市民:起初以为是假人模特

体育要闻

中国男篮,一直被质疑,永远被期待

娱乐要闻

蓝盈莹官宣新恋情

财经要闻

许家印,崩了东北富二代42个亿

汽车要闻

一条视频读懂华为乾崑WEWA 2.0架构核心:WA世界行为模型

态度原创

艺术
家居
手机
房产
游戏

艺术要闻

这9幅第三届全国大学生美展油画,直送全国青年美展!

家居要闻

2026建博会(广州) 公装联探展交流活动

手机要闻

曝OPPO Find X10系列屏幕升级,支持BT.2020超广色域

房产要闻

又又又狂抢207轮!海口土拍,彻底爆了!

东北烤冷面模拟!《国潮烤冷面传奇》Steam正式发售!

无障碍浏览 进入关怀版