给定一个字符串 和一些长度相同的单词 words。找出 中恰好可以由 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. 串联所有单词的子串相关推荐

  1. LeetCode 30串联所有单词的子串31下一个排列

    标题 串联所有单词得字串 下一个排列 维护真的不易,如有帮助还请点赞关注,关注公众号bigsai回复进群即可加入打卡. 串联所有单词得字串 题目描述: 给定一个字符串 s 和一些长度相同的单词 wor ...

  2. LeetCode 30. 串联所有单词的子串(字符串哈希)

    1. 题目 给定一个字符串 s 和一些长度相同的单词 words.找出 s 中恰好可以由 words 中所有单词串联形成的子串的起始位置. 注意子串要与 words 中的单词完全匹配,中间不能有其他字 ...

  3. Leetcode 30.串联所有单词的子串

    Time: 20191023 题目描述 给定一个字符串 s 和一些长度相同的单词 words.找出 s 中恰好可以由 words 中所有单词串联形成的子串的起始位置. 注意子串要与 words 中的单 ...

  4. 【力扣练习记录】30. 串联所有单词的子串

    给定一个字符串 s 和一些长度相同的单词 words.找出 s 中恰好可以由 words 中所有单词串联形成的子串的起始位置. 注意子串要与 words 中的单词完全匹配,中间不能有其他字符,但不需要 ...

  5. 30. 串联所有单词的子串(详细讲解版)

    题目链接:https://leetcode.cn/problems/substring-with-concatenation-of-all-words/ 解题思路:因为要找到s的一段连续子串是由wor ...

  6. LeetCode 30 串联所有单词的子串

    https://leetcode-cn.com/problems/substring-with-concatenation-of-all-words/ 解决方案 class Solution {pub ...

  7. 算法:串联所有单词的子串

    给定一个字符串 s 和一些长度相同的单词 words,找出 s 中恰好可以由 words 中所有单词串联形成的子串的起始位置. 注意子串要与 words 中的单词完全匹配,中间不能有其他字符,但不需要 ...

  8. 20200222:串联所有单词的子串(leetcode30)

    串联所有单词的子串 题目 思路与算法 代码实现 复杂度分析 题目 1. 注意words组中的word是可以重复的 2. 注意words组中的word是长度相同的. 思路与算法 此题可以直接想到使用Ha ...

  9. Algorithm:串联所有单词的子串

    给定一个字符串 s 和一些 长度相同 的单词 words .找出 s 中恰好可以由 words 中所有单词串联形成的子串的起始位置. 注意子串要与 words 中的单词完全匹配,中间不能有其他字符 , ...

最新文章

  1. easyui treegrid 获取新添加行inserted_18行JavaScript代码构建一个倒数计时器
  2. 闲谈IPv6-典型特征的一些技术细节
  3. CakePHP 2.x CookBook 中文版 第二章 安装
  4. 【软考】 2019年上半年软件设计师考试上午真题(专业解析+参考答案)
  5. 用 vue2 和 webpack 快速建构 NW.js 项目(1)
  6. 四元数c语言,C + OpenGL四元数
  7. 只腐蚀毛刺 腐蚀算法_去毛刺工艺大全,一次性列举了14种方法,非常全面
  8. 【Java】输出10-1000中间既能被3整除又能被7整除的数
  9. CSU计算机图形学复习
  10. 【python笔记】选择结构:if语句详解
  11. Stata资源:一些不错的Stata-Blogs
  12. ORB SLAM2源码解读
  13. VBA 数据透视表的创建
  14. 一文带你认清运维岗位
  15. 月入3万多的程序员回老家, 被亲戚说不如县城卖手机月入2千的表弟
  16. 抗生素对微生物组和人体健康的影响
  17. 英语计算机手抄报图片大全,五年级英语手抄报图片大全
  18. python plot坐标轴显示比例一致_绘图,x轴和y轴的比例相同
  19. JavaScript 表单对象 | 看完不会请来捶我
  20. ConfigUtility

热门文章

  1. 【前端库】favico.js 浏览器消息提示 【待更新】
  2. 手游《六大门派》 武侠MMORPG手机游戏全套源码下载
  3. python自动控制原理_自动控制原理(山东联盟-中国石油大学(华东))知到答案2020年MOOCPython语言程...
  4. 从时间管理到管理情绪,这些自我管理的技巧你知道几个?
  5. 北大软微2021计算机考研难度,2021北京大学软微计算机智能科技方向考研报录情况及备考经验分享...
  6. 安装pandas及相关包的经验(对同款问题有用)
  7. 计算器软件测试数据,计算器软件测试报告.pdf
  8. 打造一个丝滑般自动轮播无限循环Android库
  9. java的图片文件上传下载,多表新增,菜品信息分页
  10. stm32实现串口通信