Check If String Is Transformable With Substring Sort Operations LeetCode solution in C++

1
class Solution {
2
public:
3
bool isTransformable(string s, string t) {
4
vector<vector<int>> inx(10);
5
for (int i = 0; i < s.length(); i++) inx[s[i] - '0'].push_back(i);
6

7
vector<int> cnt(10, 0);
8
for (int i = 0; i < t.length(); i++) {
9
int d = t[i] - '0';
10
// check anagram
11
if (cnt[d] >= inx[d].size()) return false;
12
for (int k = 0; k < d; k++) {
13
if (cnt[k] < inx[k].size() && inx[k][cnt[k]] < inx[d][cnt[d]]) return false;
14
}
15
cnt[d] += 1;
16
}
17

18
return true;
19
}
20
};
21

22
// 1 1 9 1 9
23
// 1 9 1 1 9

0

WPM •0 •0

100%

ACC •0 •0

0s

TIME •0