Skip to content

Commit da5ab16

Browse files
committed
Time: 3 ms (94.61%), Space: 8.8 MB (80.36%) - LeetHub
1 parent f58e40e commit da5ab16

File tree

1 file changed

+11
-16
lines changed

1 file changed

+11
-16
lines changed
Original file line numberDiff line numberDiff line change
@@ -1,22 +1,17 @@
11
class Solution {
22
public:
33
bool checkInclusion(string s1, string s2) {
4-
if(s1.size() > s2.size())
5-
return false;
6-
vector<int> v(26, 0), temp (26, 0);
7-
for (int i = 0; i < s1.size(); i++) {
8-
v[s1[i] - 'a']++;
9-
temp[s2[i] - 'a']++;
10-
}
11-
if(v == temp)
12-
return true;
13-
int n = s2.size() - s1.size();
14-
for (int i = 0; i < n; i++) {
15-
temp[s2[i] - 'a']--;
16-
temp[s2[s1.size() + i] - 'a']++;
17-
if(v == temp)
18-
return true;
4+
vector<int> fa(26, 0), fb(26, 0);
5+
for (auto& i : s1) {
6+
fa[i - 'a']++;
197
}
20-
return false;
8+
for (int i = 0; i < s2.size(); i++) {
9+
if (i >= s1.size()) {
10+
fb[s2[i - s1.size()] - 'a']--;
11+
}
12+
fb[s2[i] - 'a']++;
13+
if (fa == fb) return true;
14+
}
15+
return false;
2116
}
2217
};

0 commit comments

Comments
 (0)