博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
leetcode 30#串联所有单词的字串
阅读量:3951 次
发布时间:2019-05-24

本文共 1173 字,大约阅读时间需要 3 分钟。

Difficulty: 困难

给定一个字符串 **s **和一些长度相同的单词 **words。**找出 s 中恰好可以由 words 中所有单词串联形成的子串的起始位置。

注意子串要与 words 中的单词完全匹配,中间不能有其他字符,但不需要考虑 **words **中单词串联的顺序。

示例 1:

输入:  s = "barfoothefoobarman",  words = ["foo","bar"]输出:[0,9]解释:从索引 0 和 9 开始的子串分别是 "barfoo" 和 "foobar" 。输出的顺序不重要, [9,0] 也是有效答案。

示例 2:

输入:  s = "wordgoodgoodgoodbestword",  words = ["word","good","best","word"]输出:[]

Solution

Language: ****

class Solution {
public: vector
findSubstring(string s, vector
& words) {
if (s.size() <=0 || words.size() <=0) return {
}; int n = words.size(),m = words[0].size(); if (m*n > s.size()) return {
}; vector
res; unordered_map
_map; for (string a: words) _map[a]++; for (int i=0;i<=s.size() - m*n;++i) {
unordered_map
window = _map; int k = n,j = i; while (k > 0 ) {
string str = s.substr(j, m); if (!window[str]) break; window[str]--; k--,j+=m; } if (k==0) res.push_back(i); } return res; }};

转载地址:http://vyyzi.baihongyu.com/

你可能感兴趣的文章
一位像素艺术家用39张动图,将大自然的唯美尽收眼底…
查看>>
2017论文回顾 | Yann LeCun:中英日韩语文本分类通用编码机制(附论文下载)
查看>>
【干货】人人都能看懂的LSTM
查看>>
教你用百度地图API抓取建筑物周边位置、房价信息(附代码)
查看>>
5个酷毙的Python工具
查看>>
数据显示:中国人日均睡眠6.5小时,七成睡眠质量不佳
查看>>
微信“跳一跳”高分攻略
查看>>
推荐 :机器学习 Python 库 Top 20
查看>>
阿里开源了14个核心技术,你了解哪些?
查看>>
史上最全人工智能和机器学习会议大盘点
查看>>
独家 | 大数据下的自杀风险感知与疏导(附视频&PPT下载)
查看>>
鉴别一个人是否 js 入门的标准竟然是?!
查看>>
2017年度盘点:15个最流行的GitHub机器学习项目
查看>>
Python 写各大聊天系统的屏蔽脏话功能原理
查看>>
全世界的AI明星公司都在这!CB人工智能100深度拆解
查看>>
为你分享73篇论文解决深度强化学习的18个关键问题
查看>>
28 款 GitHub 最流行的开源机器学习项目(附地址)
查看>>
从零开始教你训练神经网络(附公式&学习资源)
查看>>
计算机视觉这一年:这是最全的一份CV技术报告
查看>>
推荐9个软件神器,26个网站,让你PPT更加风骚
查看>>