Leetcode 904.水果成蓝(滑动窗口,哈希容器map
傳送門:力扣
你正在探訪一家農(nóng)場(chǎng),農(nóng)場(chǎng)從左到右種植了一排果樹。這些樹用一個(gè)整數(shù)數(shù)組 fruits 表示,其中 fruits[i] 是第 i 棵樹上的水果 種類 。
你想要盡可能多地收集水果。然而,農(nóng)場(chǎng)的主人設(shè)定了一些嚴(yán)格的規(guī)矩,你必須按照要求采摘水果:
你只有 兩個(gè) 籃子,并且每個(gè)籃子只能裝 單一類型 的水果。每個(gè)籃子能夠裝的水果總量沒(méi)有限制。
你可以選擇任意一棵樹開(kāi)始采摘,你必須從 每棵 樹(包括開(kāi)始采摘的樹)上 恰好摘一個(gè)水果 。采摘的水果應(yīng)當(dāng)符合籃子中的水果類型。每采摘一次,你將會(huì)向右移動(dòng)到下一棵樹,并繼續(xù)采摘。
一旦你走到某棵樹前,但水果不符合籃子的水果類型,那么就必須停止采摘。
給你一個(gè)整數(shù)數(shù)組 fruits ,返回你可以收集的水果的 最大 數(shù)目。
示例 1:
輸入:fruits = [1,2,1]
輸出:3
解釋:可以采摘全部 3 棵樹。
示例 2:
輸入:fruits = [0,1,2,2]
輸出:3
解釋:可以采摘 [1,2,2] 這三棵樹。
如果從第一棵樹開(kāi)始采摘,則只能采摘 [0,1] 這兩棵樹。
示例 3:
輸入:fruits = [1,2,3,2,2]
輸出:4
解釋:可以采摘 [2,3,2,2] 這四棵樹。
如果從第一棵樹開(kāi)始采摘,則只能采摘 [1,2] 這兩棵樹。
示例 4:
輸入:fruits = [3,3,3,1,2,1,1,2,3,3,4]
輸出:5
解釋:可以采摘 [1,2,1,1,2] 這五棵樹。
?
提示:
1 <= fruits.length <= 105
0 <= fruits[i] < fruits.length
來(lái)源:力扣(LeetCode)
鏈接:https://leetcode-cn.com/problems/fruit-into-baskets
著作權(quán)歸領(lǐng)扣網(wǎng)絡(luò)所有。商業(yè)轉(zhuǎn)載請(qǐng)聯(lián)系官方授權(quán),非商業(yè)轉(zhuǎn)載請(qǐng)注明出處。
接觸到哈希容器這個(gè)概念,unordered_map,頭文件include<unordered_map>
unordered_map<int, int> basket;//無(wú)序哈希容器。用來(lái)存放不同的值
? ? ? ? //存儲(chǔ)鍵值對(duì) <key, value> 類型的元素,其中各個(gè)鍵值對(duì)鍵的值不允許重復(fù),且該容器中存儲(chǔ)的鍵值對(duì)是無(wú)序的。
? ? ? ? //相對(duì)與map來(lái)說(shuō),map會(huì)自動(dòng)對(duì)數(shù)據(jù)排序,unordered_map不會(huì)。
總結(jié)
以上是生活随笔為你收集整理的Leetcode 904.水果成蓝(滑动窗口,哈希容器map的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: java 装配_Spring 通过Jav
- 下一篇: @value获取不到值