904 水果成籃

2021-09-13 10:58:56 字數 1264 閱讀 7872

weekly contest 102的第一題水果成籃:

在一排樹中,第 i 棵樹產生tree[i]型的水果。

你可以從你選擇的任何樹開始,然後重複執行以下步驟:

把這棵樹上的水果放進你的籃子裡。如果你做不到,就停下來。

移動到當前樹右側的下一棵樹。如果右邊沒有樹,就停下來。

請注意,在選擇一顆樹後,你沒有任何選擇:你必須執行步驟 1,然後執行步驟 2,然後返回步驟 1,然後執行步驟 2,依此類推,直至停止。

你有兩個籃子,每個籃子可以攜帶任何數量的水果,但你希望每個籃子只攜帶一種型別的水果。

用這個程式你能收集的水果總量是多少?

示例 1

輸入:[1,2,1]

輸出:3

解釋:我們可以收集 [1,2,1]。

示例 2

輸入:[0,1,2,2]

輸出:3

解釋:我們可以收集 [1,2,2].

如果我們從第一棵樹開始,我們將只能收集到 [0, 1]。

示例 3

輸入:[1,2,3,2,2]

輸出:4

解釋:我們可以收集 [2,3,2,2].

如果我們從第一棵樹開始,我們將只能收集到 [1, 2]。

示例 4

輸入:[3,3,3,1,2,1,1,2,3,3,4]

輸出:5

解釋:我們可以收集 [1,2,1,1,2].

如果我們從第一棵樹或第八棵樹開始,我們將只能收集到 4 個水果。

這題其實要求其實很簡單,就是找出陣列中長度最大的連續由2種元素構成的子陣列,返回這個子陣列的長度。但是實際解題的時候需要注意,由於本題有時間限制,只是單純實現功能會出現執行超時的情況,需要對實現進行一定的優化。

public int totalfruit(int tree) 

--probablemax;

for(int j=i+1;jif(basket2==-1)elseelse}}

max=math.max(total,max);

}return max;

}

904 水果成籃

你正在探訪一家農場,農場從左到右種植了一排果樹。這些樹用乙個整數陣列 fruits 表示,其中 fruits i 是第 i 棵樹上的水果 種類 你想要盡可能多地收集水果。然而,農場的主人設定了一些嚴格的規矩,你必須按照要求採摘水果 你只有 兩個 籃子,並且每個籃子只能裝 單一型別 的水果。每個籃子能...

Leetcode 904 水果成籃

在一排樹中,第i棵樹產生tree i 型的水果。你可以從你選擇的任何樹開始,然後重複執行以下步驟 把這棵樹上的水果放進你的籃子裡。如果你做不到,就停下來。移動到當前樹右側的下一棵樹。如果右邊沒有樹,就停下來。請注意,在選擇一顆樹後,你沒有任何選擇 你必須執行步驟 1,然後執行步驟 2,然後返回步驟 ...

lc904水果成籃

在一排樹中,第 i 棵樹產生 tree i 型的水果。你可以從你選擇的任何樹開始,然後重複執行以下步驟 把這棵樹上的水果放進你的籃子裡。如果你做不到,就停下來。移動到當前樹右側的下一棵樹。如果右邊沒有樹,就停下來。請注意,在選擇一顆樹後,你沒有任何選擇 你必須執行步驟 1,然後執行步驟 2,然後返回...