Problem
In a row of trees, the i-th tree produces fruit with type tree[i].
You start at any tree of your choice, then repeatedly perform the following steps:
Add one piece of fruit from this tree to your baskets. If you cannot, stop.
Move to the next tree to the right of the current tree. If there is no tree to the right, stop.
Note that you do not have any choice after the initial choice of starting tree: you must perform step 1, then step 2, then back to step 1, then step 2, and so on until you stop.
You have two baskets, and each basket can carry any quantity of fruit, but you want each basket to only carry one type of fruit each.
What is the total amount of fruit you can collect with this procedure?
Example 1:
Input: [1,2,1] Output: 3 Explanation: We can collect [1,2,1].
Example 2:
Input: [0,1,2,2] Output: 3 Explanation: We can collect [1,2,2]. If we started at the first tree, we would only collect [0, 1].
Example 3:
Input: [1,2,3,2,2] Output: 4 Explanation: We can collect [2,3,2,2]. If we started at the first tree, we would only collect [1, 2].
Example 4:
Input: [3,3,3,1,2,1,1,2,3,3,4] Output: 5 Explanation: We can collect [1,2,1,1,2]. If we started at the first tree or the eighth tree, we would only collect 4 fruits.
Note:
1 <= tree.length <= 40000 0 <= tree[i] < tree.lengthSolution
class Solution { public int totalFruit(int[] tree) { if (tree.length <= 2) return tree.length; Mapmap = new HashMap<>(); int start = 0, max = 0; for (int i = 0; i < tree.length; i++) { map.put(tree[i], map.getOrDefault(tree[i], 0)+1); while (map.size() > 2) { map.put(tree[start], map.get(tree[start])-1); if (map.get(tree[start]) == 0) map.remove(tree[start]); start++; } max = Math.max(max, i-start+1); } return max; } }
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/71941.html
摘要:操作數(shù)據(jù)庫(kù)的種形式使用擴(kuò)展類庫(kù)推薦使用擴(kuò)展類庫(kù)這是類庫(kù)的升級(jí)版,但已經(jīng)不推薦使用擴(kuò)展包含哪三個(gè)類與區(qū)別可以支持多種數(shù)據(jù)庫(kù),而且操作方法一致只支持?jǐn)?shù)據(jù)庫(kù)如何使用連接數(shù)據(jù)庫(kù)什么是如何關(guān)閉連接通過(guò)來(lái)連接數(shù)據(jù)庫(kù),其中必須傳入數(shù)據(jù)源名稱數(shù)據(jù)源名稱是 PHP操作數(shù)據(jù)庫(kù)的2種形式 使用 PDO 擴(kuò)展類庫(kù)(推薦) 使用 Mysqli 擴(kuò)展類庫(kù)(這是Mysql類庫(kù)的升級(jí)版,但已經(jīng)不推薦使用) PDO...
摘要:容器最大盛水量給定個(gè)非負(fù)整數(shù),,,,其中每個(gè)表示坐標(biāo),處的點(diǎn)。找到兩條線,它們與軸一起形成一個(gè)容器,使得容器含有最多的水。 容器最大盛水量 Container With Most Water 給定n個(gè)非負(fù)整數(shù)a1,a2,...,an,其中每個(gè)表示坐標(biāo)(i,ai)處的點(diǎn)。 繪制n條垂直線,使得線i的兩個(gè)端點(diǎn)在(i,ai)和(i,0)處。 找到兩條線,它們與x軸一起形成一個(gè)容器,使得容器...
Problem Given a node from a cyclic linked list which is sorted in ascending order, write a function to insert a value into the list such that it remains a cyclic sorted list. The given node can be a r...
閱讀 1253·2021-11-24 09:39
閱讀 391·2019-08-30 14:12
閱讀 2605·2019-08-30 13:10
閱讀 2449·2019-08-30 12:44
閱讀 974·2019-08-29 16:31
閱讀 860·2019-08-29 13:10
閱讀 2455·2019-08-27 10:57
閱讀 3169·2019-08-26 13:57