前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >LeetCode 0030 - Substring with Concatenation of All Words

LeetCode 0030 - Substring with Concatenation of All Words

作者头像
Reck Zhang
发布2021-08-11 10:33:28
1840
发布2021-08-11 10:33:28
举报
文章被收录于专栏:Reck Zhang

Substring with Concatenation of All Words

Desicription

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 words exactly 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).

Solution

代码语言:javascript
复制
class Solution {
public:
    vector<int> findSubstring(string s, vector<string>& words) {
        unordered_map<string ,int> ump;
        vector<int> res;
        for(int i = 0; i < words.size(); i++)
            ump[words[i]]++;
        int s_size = s.size();
        int words_size = words.size();
        int word_size = words[0].size();
        for(int i = 0; i < s_size - words_size * word_size + 1; i++){
            unordered_map<string, int> book;
            int j = 0;
            for(; j < words_size; j++){
                string tmp = s.substr(i + j * word_size, word_size);
                if(ump.find(tmp) == ump.end())
                    break;
                else{
                    book[tmp]++;
                    if(book[tmp] > ump[tmp])
                        break;
                }
            }
            if(j == words_size)
                res.push_back(i);
        }
        return res;
    }
};
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2017-11-10,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • Substring with Concatenation of All Words
    • Desicription
      • Solution
      领券
      问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档