无主之地2配置高吗|看真人裸体BBBBB|秋草莓丝瓜黄瓜榴莲色多多|真人強奷112分钟|精品一卡2卡3卡四卡新区|日本成人深夜苍井空|八十年代动画片

網(wǎng)易首頁 > 網(wǎng)易號(hào) > 正文 申請(qǐng)入駐

2026-05-05:分割的最大得分。用go語言,給定一個(gè)長(zhǎng)度為 n 的整數(shù)數(shù)組 nums。需要在所有滿足 0 ≤ i < n?1 的位置中選擇一...

0
分享至

2026-05-05:分割的最大得分。用go語言,給定一個(gè)長(zhǎng)度為 n 的整數(shù)數(shù)組 nums。需要在所有滿足 0 ≤ i < n?1 的位置中選擇一個(gè)切分點(diǎn) i,并計(jì)算該切分點(diǎn)的得分。

對(duì)每個(gè)切分點(diǎn) i:

  • ? 先計(jì)算前綴和:prefixSum(i) = nums[0] + nums[1] + … + nums[i]

  • ? 再計(jì)算后綴最小值:suffixMin(i) = 在 nums[i+1] 到 nums[n?1] 這段中的最小元素

  • ? 分?jǐn)?shù)定義為:score(i) = prefixSum(i) ? suffixMin(i)

最后,要求返回所有這些切分點(diǎn) i 中 score(i) 的最大值。

2 <= nums.length <= 100000。

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

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

輸出: 17。

解釋:

最優(yōu)的分割下標(biāo)是 i = 2,score(2) = prefixSum(2) - suffixMin(2) = (10 + (-1) + 3) - (-5) = 17。

題目來自力扣3788。

解題過程詳細(xì)拆解 一、明確題目核心規(guī)則

  1. 1.切分點(diǎn)范圍:數(shù)組長(zhǎng)度為5,切分點(diǎn)i只能是0、1、2、3(滿足0 ≤ i < 4,保證前后都有元素);

  2. 2.單個(gè)切分點(diǎn)得分計(jì)算

  • ? 前綴和:nums[0]nums[i]的總和;

  • ? 后綴最小值:nums[i+1]到數(shù)組末尾的最小數(shù)字;

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

3.目標(biāo):找出所有切分點(diǎn)中最大的得分

二、整體解題步驟(分兩大階段) 第一階段:計(jì)算數(shù)組的總前綴和

首先把數(shù)組所有元素全部相加,得到一個(gè)總累加和,這個(gè)總和是后續(xù)計(jì)算所有切分點(diǎn)前綴和的基礎(chǔ)。

  • ? 數(shù)組元素:10、-1、3、-4、-5

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

第二階段:從后往前遍歷,逐個(gè)計(jì)算所有切分點(diǎn)的得分

我們從數(shù)組最后一個(gè)元素開始,倒著向前遍歷(保證前綴始終至少有1個(gè)元素),遍歷過程中做三件事:

  1. 1. 用總累加和減去當(dāng)前遍歷到的元素,得到當(dāng)前切分點(diǎn)的前綴和

  2. 2. 持續(xù)更新后綴最小值(記錄當(dāng)前及右側(cè)所有元素的最小值);

  3. 3. 計(jì)算當(dāng)前切分點(diǎn)的得分,記錄遍歷過程中的最大得分

三、逐一遍歷切分點(diǎn)的詳細(xì)過程

數(shù)組索引:0(10)、1(-1)、2(3)、3(-4)、4(-5)
總累加和初始值:3
后綴最小值初始值:極大值(比所有數(shù)字都大)
最大得分初始值:極小值(比所有可能得分都?。?/p>

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

  1. 1. 總累加和 減去 元素-5 → 3 - (-5) = 8(這是切分點(diǎn)i=3的前綴和:10-1+3-4=8);

  2. 2. 更新后綴最小值:當(dāng)前后綴最小值(極大值)和-5比較,取更小的-5;

  3. 3. 計(jì)算得分:8 - (-5) = 13;

  4. 4. 記錄最大得分:當(dāng)前最大為13。

第二步:遍歷索引3(元素-4)
  1. 1. 總累加和 減去 元素-4 → 8 - (-4) = 12(這是切分點(diǎn)i=2的前綴和:10-1+3=12);

  2. 2. 更新后綴最小值:當(dāng)前后綴最小值(-5)和-4比較,取更小的-5;

  3. 3. 計(jì)算得分:12 - (-5) = 17;

  4. 4. 記錄最大得分:17>13,更新最大得分為17。

第三步:遍歷索引2(元素3)
  1. 1. 總累加和 減去 元素3 → 12 - 3 = 9(這是切分點(diǎn)i=1的前綴和:10-1=9);

  2. 2. 更新后綴最小值:當(dāng)前后綴最小值(-5)和3比較,取更小的-5;

  3. 3. 計(jì)算得分:9 - (-5) = 14;

  4. 4. 記錄最大得分:14<17,最大得分保持17。

第四步:遍歷索引1(元素-1)
  1. 1. 總累加和 減去 元素-1 → 9 - (-1) = 10(這是切分點(diǎn)i=0的前綴和:10);

  2. 2. 更新后綴最小值:當(dāng)前后綴最小值(-5)和-1比較,取更小的-5;

  3. 3. 計(jì)算得分:10 - (-5) = 15;

  4. 4. 記錄最大得分:15<17,最大得分保持17。

四、最終結(jié)果

遍歷完所有切分點(diǎn)后,最大得分是17,與題目輸出一致。

五、時(shí)間復(fù)雜度與額外空間復(fù)雜度 1. 時(shí)間復(fù)雜度

  • ? 第一步計(jì)算總累加和:遍歷整個(gè)數(shù)組,時(shí)間復(fù)雜度為O(n)(n為數(shù)組長(zhǎng)度);

  • ? 第二步倒序遍歷計(jì)算得分:再次遍歷整個(gè)數(shù)組,時(shí)間復(fù)雜度為O(n);

  • ? 總時(shí)間復(fù)雜度:O(n)(線性時(shí)間,能高效處理n=10?的最大數(shù)據(jù)量)。

2. 額外空間復(fù)雜度
  • ? 整個(gè)過程只使用了固定數(shù)量的變量(總累加和、后綴最小值、最大得分等);

  • ? 沒有創(chuàng)建任何與數(shù)組長(zhǎng)度n相關(guān)的額外數(shù)組、集合等數(shù)據(jù)結(jié)構(gòu);

  • ? 總額外空間復(fù)雜度:O(1)(常數(shù)級(jí)空間)。

總結(jié)
  1. 1. 解題核心:倒序遍歷+動(dòng)態(tài)維護(hù)前綴和與后綴最小值,避免重復(fù)計(jì)算,保證高效性;

  2. 2. 時(shí)間復(fù)雜度:O(n),適合處理十萬級(jí)長(zhǎng)度的數(shù)組;

  3. 3. 額外空間復(fù)雜度:O(1),僅使用固定變量,無額外內(nèi)存開銷。

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-- { // 保證前綴至少有一個(gè)數(shù)
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): # 保證前綴至少有一個(gè)數(shù)
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--) { // 保證前綴至少有一個(gè)數(shù)
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;
}

我們相信人工智能為普通人提供了一種“增強(qiáng)工具”,并致力于分享全方位的AI知識(shí)。在這里,您可以找到最新的AI科普文章、工具評(píng)測(cè)、提升效率的秘籍以及行業(yè)洞察。 歡迎關(guān)注“福大大架構(gòu)師每日一題”,發(fā)消息可獲得面試資料,讓AI助力您的未來發(fā)展。

特別聲明:以上內(nèi)容(如有圖片或視頻亦包括在內(nèi))為自媒體平臺(tái)“網(wǎng)易號(hào)”用戶上傳并發(fā)布,本平臺(tái)僅提供信息存儲(chǔ)服務(wù)。

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.

相關(guān)推薦
熱點(diǎn)推薦
知情人士披露:美國(guó)或考慮恢復(fù)對(duì)伊朗軍事行動(dòng)

知情人士披露:美國(guó)或考慮恢復(fù)對(duì)伊朗軍事行動(dòng)

界面新聞
2026-05-12 13:27:48
剛發(fā)布的 iOS 26.5 正式版,新功能太多了!

剛發(fā)布的 iOS 26.5 正式版,新功能太多了!

花果科技
2026-05-12 07:32:44
1980年鐘偉直呼毛主席大名,黃克誠(chéng)舉拐怒斥:你老小子真是忘了本

1980年鐘偉直呼毛主席大名,黃克誠(chéng)舉拐怒斥:你老小子真是忘了本

史之銘
2026-05-12 20:53:20
3個(gè)細(xì)節(jié)對(duì)比,劉濤這次真的有點(diǎn)難受,小媽祖直接被跪拜

3個(gè)細(xì)節(jié)對(duì)比,劉濤這次真的有點(diǎn)難受,小媽祖直接被跪拜

手工制作阿殲
2026-05-12 19:19:53
九寨溝實(shí)行“雙向檢票”?工作人員:出園檢票并非新政策,一直嚴(yán)禁溝內(nèi)住宿

九寨溝實(shí)行“雙向檢票”?工作人員:出園檢票并非新政策,一直嚴(yán)禁溝內(nèi)住宿

上游新聞
2026-05-11 15:40:24
枝江市委書記余峰,擬任湖北省直正廳級(jí)單位領(lǐng)導(dǎo)班子副職

枝江市委書記余峰,擬任湖北省直正廳級(jí)單位領(lǐng)導(dǎo)班子副職

靚仔情感
2026-05-12 19:26:39
32+35+43!聯(lián)盟第1!這就是騎士給他1.5億美金大合同的原因

32+35+43!聯(lián)盟第1!這就是騎士給他1.5億美金大合同的原因

世界體育圈
2026-05-12 18:57:17
搶在中方接機(jī)前,特朗普隨行人員名單變了,英偉達(dá)第一個(gè)被踢出局

搶在中方接機(jī)前,特朗普隨行人員名單變了,英偉達(dá)第一個(gè)被踢出局

影孖看世界
2026-05-12 21:58:56
許利民:在巨大壓力下我們戰(zhàn)勝了自己,賽前的布置都表現(xiàn)了出來

許利民:在巨大壓力下我們戰(zhàn)勝了自己,賽前的布置都表現(xiàn)了出來

懂球帝
2026-05-12 22:00:22
2026號(hào)1號(hào)文件:嚴(yán)禁上級(jí)機(jī)關(guān)事業(yè)單位從基層借調(diào)職工!

2026號(hào)1號(hào)文件:嚴(yán)禁上級(jí)機(jī)關(guān)事業(yè)單位從基層借調(diào)職工!

細(xì)說職場(chǎng)
2026-05-10 11:18:10
別再比養(yǎng)老金了!企業(yè)退休分4檔,看看你站在哪一檔

別再比養(yǎng)老金了!企業(yè)退休分4檔,看看你站在哪一檔

音樂時(shí)光的娛樂
2026-05-07 06:37:52
這3位縣委書記:同一天公示提拔,同一天官宣落馬!

這3位縣委書記:同一天公示提拔,同一天官宣落馬!

仕道
2026-05-12 10:55:00
劉三姐“全裸演出”引爭(zhēng)議,張藝謀惹怒全網(wǎng)

劉三姐“全裸演出”引爭(zhēng)議,張藝謀惹怒全網(wǎng)

營(yíng)銷頭版
2026-05-10 20:09:26
阿里員工:之前在字節(jié)年薪百萬的同事,聽說因?yàn)槁殑?wù)侵占被抓了

阿里員工:之前在字節(jié)年薪百萬的同事,聽說因?yàn)槁殑?wù)侵占被抓了

螞蟻大喇叭
2026-05-11 17:50:34
21歲雙胞胎姐妹1死1重傷,兇手為妹妹男友,案發(fā)前數(shù)小時(shí)雙方在派出所調(diào)解,家屬起訴警方失職;嫌犯作案當(dāng)天發(fā)布動(dòng)態(tài):狠角色我只扮演一次

21歲雙胞胎姐妹1死1重傷,兇手為妹妹男友,案發(fā)前數(shù)小時(shí)雙方在派出所調(diào)解,家屬起訴警方失職;嫌犯作案當(dāng)天發(fā)布動(dòng)態(tài):狠角色我只扮演一次

大風(fēng)新聞
2026-05-12 08:55:33
央視軍事官宣:中國(guó)首艘核動(dòng)力航母正式確認(rèn)

央視軍事官宣:中國(guó)首艘核動(dòng)力航母正式確認(rèn)

武器鑒賞
2026-05-08 13:23:34
比亞迪固態(tài)電池正式首發(fā),純電續(xù)航1218km,電車市場(chǎng)要變天了!

比亞迪固態(tài)電池正式首發(fā),純電續(xù)航1218km,電車市場(chǎng)要變天了!

沙雕小琳琳
2026-05-12 03:23:16
四川凌晨追打事件后續(xù):6人全被帶走,女子動(dòng)手襲警細(xì)節(jié)曝光

四川凌晨追打事件后續(xù):6人全被帶走,女子動(dòng)手襲警細(xì)節(jié)曝光

科學(xué)發(fā)掘
2026-05-12 18:44:40
畸形審美?這5位男演員長(zhǎng)相平平,卻總當(dāng)主角演帥哥,實(shí)在不理解

畸形審美?這5位男演員長(zhǎng)相平平,卻總當(dāng)主角演帥哥,實(shí)在不理解

暖心萌阿菇?jīng)?/span>
2026-05-12 13:57:43
褲子上這兩根繩,一定還有它存在的道理!

褲子上這兩根繩,一定還有它存在的道理!

新住家居
2026-05-12 06:06:10
2026-05-12 22:28:49
moonfdd incentive-icons
moonfdd
福大大架構(gòu)師每日一題
1221文章數(shù) 67關(guān)注度
往期回顧 全部

科技要聞

宇樹發(fā)布載人變形機(jī)甲,定價(jià)390萬元起

頭條要聞

新電動(dòng)車到手不足一月頻繁自動(dòng)鎖死 老人被摔傷五六次

頭條要聞

新電動(dòng)車到手不足一月頻繁自動(dòng)鎖死 老人被摔傷五六次

體育要聞

總是掉鏈子的“倒霉蛋”,闖進(jìn)了歐戰(zhàn)決賽

娛樂要聞

白鹿風(fēng)波升級(jí)!掉粉20萬評(píng)論區(qū)淪陷

財(cái)經(jīng)要聞

黃仁勛真是被白宮徹底封殺了

汽車要聞

吉利銀河“TT”申報(bào)圖曝光 電動(dòng)尾翼+激光雷達(dá)

態(tài)度原創(chuàng)

手機(jī)
房產(chǎn)
親子
公開課
軍事航空

手機(jī)要聞

水冷透明機(jī)身+真全面屏!紅魔 11S Pro+圖賞

房產(chǎn)要聞

穗八條引爆樓市!萬博寶藏紅盤,五一勁銷出圈

親子要聞

amh值0.95怎么調(diào)理?吃什么可以讓卵泡長(zhǎng)得好又大又圓?

公開課

李玫瑾:為什么性格比能力更重要?

軍事要聞

知情人士披露:美國(guó)或考慮恢復(fù)對(duì)伊朗軍事行動(dòng)

無障礙瀏覽 進(jìn)入關(guān)懷版