We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
There was an error while loading. Please reload this page.
1 parent 2a07c84 commit e13d0e8Copy full SHA for e13d0e8
rust/medium/0904_fruit_into_baskets.rs
@@ -0,0 +1,28 @@
1
+use std::collections::HashMap;
2
+
3
+impl Solution {
4
+ pub fn total_fruit(fruits: Vec<i32>) -> i32 {
5
+ let mut freqs = HashMap::new();
6
+ let mut left = 0;
7
+ let mut max_len = 0;
8
9
+ for right in 0..fruits.len() {
10
+ *freqs.entry(fruits[right]).or_insert(0) += 1;
11
12
+ while freqs.len() > 2 {
13
+ let fruit = fruits[left];
14
+ if let Some(count) = freqs.get_mut(&fruit) {
15
+ *count -= 1;
16
+ if *count == 0 {
17
+ freqs.remove(&fruit);
18
+ }
19
20
+ left += 1;
21
22
23
+ max_len = max_len.max(right - left + 1);
24
25
26
+ max_len as i32
27
28
+}
0 commit comments