- 正确的一定是m*n长度的,外层循环,满足这个再内圈循环,
- 有一个mark不需要变? 就是dict,但建立一个temp,每次的循环检查都可以出来一个temp
- 题目字典序中每个都是等长度的。
class Solution {
public:
vector<int> findSubstring(string s, vector<string>& words) {
vector<int> ans;
int n = words.size();
int m = words[0].size(); //是等数量的,在题目里没说明白
if(m*n > s.size()) return ans;
unordered_map<string, int> dict, tmp;
for(auto word: words){
dict[word]++;
}
string str;
for(int i=0; i+m*n<= s.size(); i++){//这是一种控制长度的办法
int j=i;
for(; j< i+m*n; j += m){ //这里+= m
str = s.substr(j, m); //切的也一定是m长度