C++ | Leetcode C++题解之第30题串联所有单词的子串

题目:

C++ | Leetcode C++题解之第30题串联所有单词的子串_第1张图片

题解:

class Solution {
public:
    vector findSubstring(string &s, vector &words) {
        vector res;
        int m = words.size(), n = words[0].size(), ls = s.size();
        for (int i = 0; i < n && i + m * n <= ls; ++i) {
            unordered_map differ;
            for (int j = 0; j < m; ++j) {
                ++differ[s.substr(i + j * n, n)];
            }
            for (string &word: words) {
                if (--differ[word] == 0) {
                    differ.erase(word);
                }
            }
            for (int start = i; start < ls - m * n + 1; start += n) {
           

你可能感兴趣的:(经验分享,c++,Leetcode,题解)