Longest Uncommon Subsequence II LeetCode solution in C++

1
class Solution {
2
private:
3
bool isCommon(string &s, string &t) {
4
int index = 0;
5
for (int i = 0; i < s.size(); i++) {
6
if (s[i] == t[index]) {
7
if (++index == t.size()) {
8
return true;
9
}
10
}
11
}
12
return false;
13
}
14
bool isUncommon(vector<string> &strs, int index) {
15
for (int i = 0; i < strs.size() and strs[index].size() <= strs[i].size(); i++) {
16
if (index != i and isCommon(strs[i], strs[index])) {
17
return false;
18
}
19
}
20
return true;
21
}
22

23
public:
24
int findLUSlength(vector<string> &strs) {
25
sort(strs.begin(), strs.end(), [](string &s, string &t) { return s.size() > t.size(); });
26
int ans = -1;
27
for (int i = 0; i < strs.size(); i++) {
28
if (isUncommon(strs, i)) {
29
ans = strs[i].size();
30
break;
31
}
32
}
33
return ans;
34
}
35
};

0

WPM •0 •0

100%

ACC •0 •0

0s

TIME •0