-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathkeyboard-row.cpp
More file actions
69 lines (68 loc) · 1.26 KB
/
keyboard-row.cpp
File metadata and controls
69 lines (68 loc) · 1.26 KB
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
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
// https://leetcode.com/problems/keyboard-row
class Solution {
public:
const map<char, int> key = {
{ 'q', 1 },
{ 'w', 1 },
{ 'e', 1 },
{ 'r', 1 },
{ 't', 1 },
{ 'y', 1 },
{ 'u', 1 },
{ 'i', 1 },
{ 'o', 1 },
{ 'p', 1 },
{ 'a', 2 },
{ 's', 2 },
{ 'd', 2 },
{ 'f', 2 },
{ 'g', 2 },
{ 'h', 2 },
{ 'j', 2 },
{ 'k', 2 },
{ 'l', 2 },
{ 'z', 3 },
{ 'x', 3 },
{ 'c', 3 },
{ 'v', 3 },
{ 'b', 3 },
{ 'n', 3 },
{ 'm', 3 },
{ 'Q', 1 },
{ 'W', 1 },
{ 'E', 1 },
{ 'R', 1 },
{ 'T', 1 },
{ 'Y', 1 },
{ 'U', 1 },
{ 'I', 1 },
{ 'O', 1 },
{ 'P', 1 },
{ 'A', 2 },
{ 'S', 2 },
{ 'D', 2 },
{ 'F', 2 },
{ 'G', 2 },
{ 'H', 2 },
{ 'J', 2 },
{ 'K', 2 },
{ 'L', 2 },
{ 'Z', 3 },
{ 'X', 3 },
{ 'C', 3 },
{ 'V', 3 },
{ 'B', 3 },
{ 'N', 3 },
{ 'M', 3 }
};
vector<string> findWords(vector<string>& words) {
vector<string> w;
for(const string& word: words) {
const int line = key.at(word[0]), size = word.size();
int i = 1;
while(i < size && key.at(word[i]) == line) ++i;
if (i == size) w.push_back(word);
}
return w;
}
};