在一排樹中,第 i 棵樹產生 tree[i] 型的水果。
你可以從你選擇的任何樹開始,然後重複執行以下步驟:
把這棵樹上的水果放進你的籃子裡。如果你做不到,就停下來。
移動到當前樹右側的下一棵樹。如果右邊沒有樹,就停下來。
請注意,在選擇一顆樹後,你沒有任何選擇:你必須執行步驟 1,然後執行步驟 2,然後返回步驟 1,然後執行步驟 2,依此類推,直至停止。
你有兩個籃子,每個籃子可以攜帶任何數量的水果,但你希望每個籃子只攜帶一種型別的水果。
用這個程式你能收集的水果總量是多少
示例 1:
輸入: [1,2,1]
輸出: 3
解釋: 我們可以收集 [1,2,1].
示例 2:
輸入: [1,2,3,2,2]
輸出: 4
解釋: 我們可以收集 [2,3,2,2].
如果我們從第一棵樹開始,我們將只能收集到 [1, 2].
設定兩個指標left和right,初始狀態left = 0, right = 1, right右邊這個水果如果和現在籃子中的水果一樣,那麼總數就加一,如果不一樣就更改left和right指標。
這裡要注意兩個問題:
有可能初始時籃框裡面放的是一樣的水果,這裡需要加乙個判斷。
更改left指標的時候,left不一定更改到現在的right處,要找到最左邊的一樣的水果。
1234567
891011
1213
1415
1617
1819
2021
2223
2425
2627
2829
3031
3233
3435
3637
3839
4041
4243
4445
46
class solutionelse
else
right++;
temp[0] = tree[left];
temp[1] = tree[right];}}
}return m;}};
-------------end of file
thanks for reading-------------
904 水果成籃
weekly contest 102的第一題水果成籃 在一排樹中,第 i 棵樹產生tree i 型的水果。你可以從你選擇的任何樹開始,然後重複執行以下步驟 把這棵樹上的水果放進你的籃子裡。如果你做不到,就停下來。移動到當前樹右側的下一棵樹。如果右邊沒有樹,就停下來。請注意,在選擇一顆樹後,你沒有任何...
904 水果成籃
你正在探訪一家農場,農場從左到右種植了一排果樹。這些樹用乙個整數陣列 fruits 表示,其中 fruits i 是第 i 棵樹上的水果 種類 你想要盡可能多地收集水果。然而,農場的主人設定了一些嚴格的規矩,你必須按照要求採摘水果 你只有 兩個 籃子,並且每個籃子只能裝 單一型別 的水果。每個籃子能...
Leetcode 904 水果成籃
在一排樹中,第i棵樹產生tree i 型的水果。你可以從你選擇的任何樹開始,然後重複執行以下步驟 把這棵樹上的水果放進你的籃子裡。如果你做不到,就停下來。移動到當前樹右側的下一棵樹。如果右邊沒有樹,就停下來。請注意,在選擇一顆樹後,你沒有任何選擇 你必須執行步驟 1,然後執行步驟 2,然後返回步驟 ...