1. 程式人生 > >詳解 最大子段和

詳解 最大子段和

最大 負數 nbsp 端點 關於 一段 描述 計數器 曾經

題目名稱:最大子段和

題目描述:給出一段序列,選出其中連續且非空的一段使得這段和最大。

輸入格式:

第一行是一個正整數N,表示了序列的長度。

第2行包含N個絕對值不大於10000的整數A[i],描述了這段序列。

輸出格式:

僅包括1個整數,為最大的子段和是多少。子段的最小長度為1。

聽取了ZYL dalao 的最優方法,但還是自己看的其他題解,想明白寫的一個貪心的解:每次讀入一個數,把它加入臨時計數器中,看是否超過曾經的最大值,再替換;關於加數是負數和子段的左端點為任意等問題,冥思苦想許久,發現這個算法其實是沒有錯誤的,因為如果臨時計數器中的和為負數,那肯定不如不加,而不加前的最大和已經

詳解 最大子段和