30. 串联所有单词的子串
给定一个字符串 s 和一些长度相同的单词 words。找出 s 中恰好可以由 words 中所有单词串联形成的子串的起始位置。
注意子串要与 words 中的单词完全匹配,中间不能有其他字符,但不需要考虑 words 中单词串联的顺序。
示例 1:
输入:s = "barfoothefoobarman",
words = ["foo","bar"]
输出:[0,9]
解释:
从索引 0 和 9 开始的子串分别是 "barfoor" 和 "foobar" 。
输出的顺序不重要, [9,0] 也是有效答案。
示例 2:
输入:s = "wordgoodgoodgoodbestword",
words = ["word","good","best","word"]
输出:[]
Code:
不算难的一个题,使用hashMap存储比对即可AC
class Solution {public List<Integer> findSubstring(String s, String[] words) {ArrayList<Integer> res = new ArrayList<>();if (s.length()==0||words.length==0){return res;}HashMap<String, Integer> record = new HashMap<>();for (String word:words) {Integer in = record.get(word);if (in==null){in = 0;}record.put(word,in+1);}int wordLen = words[0].length();int count = words.length;int len = s.length();int forLen = len - wordLen*count;for (int i = 0; i < forLen+1; i++) {String sp = s.substring(i, i + wordLen);Integer p = record.get(sp);if (p!=null){int cou = count-1;HashMap<String,Integer> temp = new HashMap<>();temp.putAll(record);temp.put(sp,p-1);for (int j = i+wordLen; cou > 0 ; j+=wordLen) {String s1 = s.substring(j, j + wordLen);Integer get = temp.get(s1);if (get==null||get==0){break;}else {temp.put(s1,get-1);cou--;}}if (cou==0){res.add(i);}}}return res;}
}
30. 串联所有单词的子串相关推荐
- LeetCode 30串联所有单词的子串31下一个排列
标题 串联所有单词得字串 下一个排列 维护真的不易,如有帮助还请点赞关注,关注公众号bigsai回复进群即可加入打卡. 串联所有单词得字串 题目描述: 给定一个字符串 s 和一些长度相同的单词 wor ...
- LeetCode 30. 串联所有单词的子串(字符串哈希)
1. 题目 给定一个字符串 s 和一些长度相同的单词 words.找出 s 中恰好可以由 words 中所有单词串联形成的子串的起始位置. 注意子串要与 words 中的单词完全匹配,中间不能有其他字 ...
- Leetcode 30.串联所有单词的子串
Time: 20191023 题目描述 给定一个字符串 s 和一些长度相同的单词 words.找出 s 中恰好可以由 words 中所有单词串联形成的子串的起始位置. 注意子串要与 words 中的单 ...
- 【力扣练习记录】30. 串联所有单词的子串
给定一个字符串 s 和一些长度相同的单词 words.找出 s 中恰好可以由 words 中所有单词串联形成的子串的起始位置. 注意子串要与 words 中的单词完全匹配,中间不能有其他字符,但不需要 ...
- 30. 串联所有单词的子串(详细讲解版)
题目链接:https://leetcode.cn/problems/substring-with-concatenation-of-all-words/ 解题思路:因为要找到s的一段连续子串是由wor ...
- LeetCode 30 串联所有单词的子串
https://leetcode-cn.com/problems/substring-with-concatenation-of-all-words/ 解决方案 class Solution {pub ...
- 算法:串联所有单词的子串
给定一个字符串 s 和一些长度相同的单词 words,找出 s 中恰好可以由 words 中所有单词串联形成的子串的起始位置. 注意子串要与 words 中的单词完全匹配,中间不能有其他字符,但不需要 ...
- 20200222:串联所有单词的子串(leetcode30)
串联所有单词的子串 题目 思路与算法 代码实现 复杂度分析 题目 1. 注意words组中的word是可以重复的 2. 注意words组中的word是长度相同的. 思路与算法 此题可以直接想到使用Ha ...
- Algorithm:串联所有单词的子串
给定一个字符串 s 和一些 长度相同 的单词 words .找出 s 中恰好可以由 words 中所有单词串联形成的子串的起始位置. 注意子串要与 words 中的单词完全匹配,中间不能有其他字符 , ...
最新文章
- easyui treegrid 获取新添加行inserted_18行JavaScript代码构建一个倒数计时器
- 闲谈IPv6-典型特征的一些技术细节
- CakePHP 2.x CookBook 中文版 第二章 安装
- 【软考】 2019年上半年软件设计师考试上午真题(专业解析+参考答案)
- 用 vue2 和 webpack 快速建构 NW.js 项目(1)
- 四元数c语言,C + OpenGL四元数
- 只腐蚀毛刺 腐蚀算法_去毛刺工艺大全,一次性列举了14种方法,非常全面
- 【Java】输出10-1000中间既能被3整除又能被7整除的数
- CSU计算机图形学复习
- 【python笔记】选择结构:if语句详解
- Stata资源:一些不错的Stata-Blogs
- ORB SLAM2源码解读
- VBA 数据透视表的创建
- 一文带你认清运维岗位
- 月入3万多的程序员回老家, 被亲戚说不如县城卖手机月入2千的表弟
- 抗生素对微生物组和人体健康的影响
- 英语计算机手抄报图片大全,五年级英语手抄报图片大全
- python plot坐标轴显示比例一致_绘图,x轴和y轴的比例相同
- JavaScript 表单对象 | 看完不会请来捶我
- ConfigUtility
热门文章
- 【前端库】favico.js 浏览器消息提示 【待更新】
- 手游《六大门派》 武侠MMORPG手机游戏全套源码下载
- python自动控制原理_自动控制原理(山东联盟-中国石油大学(华东))知到答案2020年MOOCPython语言程...
- 从时间管理到管理情绪,这些自我管理的技巧你知道几个?
- 北大软微2021计算机考研难度,2021北京大学软微计算机智能科技方向考研报录情况及备考经验分享...
- 安装pandas及相关包的经验(对同款问题有用)
- 计算器软件测试数据,计算器软件测试报告.pdf
- 打造一个丝滑般自动轮播无限循环Android库
- java的图片文件上传下载,多表新增,菜品信息分页
- stm32实现串口通信