Post

1264 Maximum Number Of Words You Can Type

1264 Maximum Number Of Words You Can Type

Maximum Number of Words You Can Type image

There is a malfunctioning keyboard where some letter keys do not work. All other keys on the keyboard work properly.

Given a string text of words separated by a single space (no leading or trailing spaces) and a string brokenLetters of all distinct letter keys that are broken, return the number of words in text you can fully type using this keyboard.

 

Example 1:

1
2
3
4
5
**Input:** text = "hello world", brokenLetters = "ad"
**Output:** 1
**Explanation:** We cannot type "world" because the 'd' key is broken.

Example 2:

1
2
3
4
5
**Input:** text = "leet code", brokenLetters = "lt"
**Output:** 1
**Explanation:** We cannot type "leet" because the 'l' and 't' keys are broken.

Example 3:

1
2
3
4
5
**Input:** text = "leet code", brokenLetters = "e"
**Output:** 0
**Explanation:** We cannot type either word because the 'e' key is broken.

 

Constraints:

1
2
3
4
5
1 <= text.length <= 104
0 <= brokenLetters.length <= 26
text consists of words separated by a single space without any leading or trailing spaces.
Each word only consists of lowercase English letters.
brokenLetters consists of **distinct** lowercase English letters.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30

use std::collections::HashSet;
impl Solution {
    pub fn can_be_typed_words(text: String, broken_letters: String) -> i32 {
        let mut res = 0;
        let mut hs = HashSet::new();

        for b in broken_letters.chars() {
            hs.insert(b);
        }

        for k in text.split(" "){
            let mut found = false;
            for m in k.chars() {
                if hs.contains(&m) {
                    found = true;
                    break;
                }
            }
            if !found{
                res += 1;
            }
        }
        return res;
    }
}



This post is licensed under CC BY 4.0 by the author.