美團筆試 迴轉壽司

2021-10-20 03:24:08 字數 1252 閱讀 5847

小美請小團吃迴轉壽司。轉盤上有n盤壽司圍成一圈,第1盤與第2盤相鄰,第2盤與第3盤相鄰,…,第n-1盤與第n盤相鄰,第n盤與第1盤相鄰。小團認為第i盤壽司的美味值為a[i](可能是負值,如果小團討厭這盤壽司)。現在,小團要在轉盤上選出連續的若干盤壽司,使得這些壽司的美味值之和最大(允許不選任何壽司,此時美味值總和為0)。

輸入:

第一行輸入乙個整數t(1<=t<=10),表示資料組數。

每組資料佔兩行,第一行輸入乙個整數n(1<=n<=10^5);

第二行輸入n個由空格隔開的整數,表示a[1]到a[n](-104<=a[i]<=104)。

輸出:

每組資料輸出佔一行,輸出乙個整數,表示連續若干盤壽司的美味值之和的最大值

輸入例子

1

43 -2 4 -1

輸出例子

第一思路是用兩層迴圈,但是超時, python不會。

第二思路如下: 可能的組合是:字首和-字首和最小值(0或者負數); 字首和+以最後乙個數字結尾的最大和子陣列。

#include

#include

using

namespace std;

intmain()

vector<

int>

pre(n+1,

0); vector<

int>

pre_min

(n+1,0

);vector<

int>

suf_max

(n+1,0

);vector<

int>

suf(n+1,

0);int mins =

0, maxs =

0, res =0;

for(

int i =

0; i < n; i++

)for

(int i = n-

1; i >=

0; i--

)for

(int i =

0; i < n; i++

) cout<}return0;

}

迴轉壽司 有趣的分塊

樣例1輸入 6 78 6 7 4 5 9 2 4 5 4 1 4 6 2 7 1 5 2 3 4 8 4 3 1 3 1 3 樣例1輸出 79 8786 5 樣例1每次提供完新壽司後,顧客擁有的壽司 依次為 1.8 5 6 4 5 9 2.8 5 6 4 4 5 3.7 5 6 4 4 5 4.2 ...

美團筆試2018 9 10

第一題 無向圖 def min path n,b node list 0 n 1 儲存節點的距離 for path in b 遍歷路徑,使後一節點距離值等於前一節點距離值加一 x,y path node list y node list x 1 depth 0 找到最大深度 for i in ran...

美團筆試(22 03 19)

一共五道 題,看了前面三道,ac了三道,後面兩道題沒有時間看,此處將對前三題進行記錄總結,後附 題意 給定一組n個商品的 下單購買商品時,必須購買前i個商品,即購買商品列表是商品列表的字首。提供兩種優惠規則,滿減優惠和折扣優惠,每次下單只能選擇某種優惠規則。問購買前i 1 i n 個商品時,使用哪種...