leetcode 30 Substring with Concatenation of All Words
Posted GadyPu
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了leetcode 30 Substring with Concatenation of All Words相关的知识,希望对你有一定的参考价值。
题目连接
https://leetcode.com/problems/substring-with-concatenation-of-all-words/
Substring with Concatenation of All Words
Description
You are given a string, s, and a list of words, words, that are all of the same length. Find all starting indices of substring(s) in s that is a concatenation of each word in wordsexactly once and without any intervening characters.
For example, given:
s: "barfoothefoobarman"
words: ["foo", "bar"]
You should return the indices: [0,9]
.
(order does not matter).
根据题意直接模拟(写的很挫跑的很慢QAQ)
class Solution { public: vector<int> findSubstring(string s, vector<string>& words) { vector<int> res; if(s.empty() || words.empty()) return res; for(auto &r: words) A[r]++; int n = words[0].size(), m = s.size(), k = words.size(); int len = m - n * k + 1; for(int i = 0; i < len; i++) { int d = k, j = i; B.clear(); while(d) { string temp = s.substr(j, n); j += n; if(A.find(temp) == A.end()) { break; } else { B[temp]++; if(B[temp] > A[temp]) break; d--; } } if(!d) res.push_back(i); } return res; } private: map<string, int> A, B; };
以上是关于leetcode 30 Substring with Concatenation of All Words的主要内容,如果未能解决你的问题,请参考以下文章
leetcode 30 Substring with Concatenation of All Words
19.1.30 [LeetCode 30] Substring with Concatenation of All Words
LeetCode(30) Substring with Concatenation of All Words
LeetCode30. Substring with Concatenation of All Words
leetcode 30. Substring with Concatenation of All Words
LeetCode HashTable 30 Substring with Concatenation of All Words