We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
1 parent 10c7cd8 commit 4f8a307Copy full SHA for 4f8a307
scripts/algorithms/W/Word Subsets/Word Subsets.rs
@@ -0,0 +1,21 @@
1
+// Runtime: 19 ms (Top 100.0%) | Memory: 3.30 MB (Top 75.0%)
2
+
3
+impl Solution {
4
+ pub fn word_subsets(a: Vec<String>, b: Vec<String>) -> Vec<String> {
5
+ let count = |s: &str| {
6
+ let mut m = [0; 26];
7
+ s.chars().for_each(|c| m[c as usize - 'a' as usize] += 1);
8
+ m
9
+ };
10
+ let b_counts = b.iter().map(|s| count(s)).fold([0; 26], |mut bm, m| {
11
+ m.iter().enumerate().for_each(|(i, &n)| bm[i] = bm[i].max(n));
12
+ bm
13
+ });
14
15
+ a.into_iter()
16
+ .map(|w| (count(&w), w))
17
+ .filter(|(m, _)| b_counts.iter().enumerate().all(|(i, &n)| m[i] >= n))
18
+ .map(|(_, w)| w)
19
+ .collect()
20
+ }
21
+}
0 commit comments