判断子序列
二分思路主要是对t
进行预处理,用一个字典index
将每个字符出现的索引位置按顺序存储下来
int m = s.length(), n = t.length();
vector<vector<int>> index(256, vector<int>());
// 先记下 t 中每个字符出现的位置
for (int i = 0; i < n; i++) {
char c = t[i];
index[c].push_back(i);
}
借助index
中记录的信息,可以二分搜索index[c]
中比j
大的那个索引