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).
题目意思: 输入字符串S和列表L,L含有一组长度相同的单词。找出所有子串的开始下标,该子串由L的所有单词拼接而成,而且没有夹杂其他字符
public class Solution { public List<Integer> findSubstring(String S, String[] L) { Map<String, Integer> dict = new HashMap<String, Integer>(); for (String l : L) { if (!dict.containsKey(l)) { dict.put(l, 0); } dict.put(l, dict.get(l)+1); } int len = L[0].length(); int lenSum = len*L.length; List<Integer> list = new ArrayList<Integer>(); for (int i=0; i<=S.length()-lenSum; i++) { Map<String, Integer> dictCopy = new HashMap<String, Integer>(dict); boolean flag = true; for (int j=i; j<i+lenSum; j=j+len) { String s = S.substring(j, j+len); Integer num = dictCopy.get(s); if (num==null || num==0) { flag = false; break; } num--; dictCopy.put(s, num); } if (flag) { list.add(i); } } return list; } }
相关推荐
c c语言_leetcode 0030_substring_with_concatenation_of_all_words.zip
js js_leetcode题解之30-substring-with-concatenation-of-all-words.js
Concatenation of All Words 哈希表 注意匹配方向 Valid Sudoku 数组 遍历 Sudoku Solver 深度优先遍历 回溯 先检查后修改 Group Anagrams 排序 unordered_map Minimum Window Substring 两个指针遍历 map Maximal ...
leetcode 跳跃 LeetCode Exercises from leetcode. All ...30 串联所有单词的子串 substring with concatenation of all words ---哈希表,统计匹配 32 最长有效括号 Longest vaild parenthese
Here is the classification of all `468` questions. For more questions and solutions, you can see my [LintCode](https://github.com/kamyu104/LintCode) repository. I'll keep updating for full summary and...
java java_leetcode题解之Longest Substring with At Most Two Distinct
js中substr,substring,indexOf,lastIndexOf等的用法 1.substrsubstr(start,length)表示从start位置开始,截取length长度的字符串。 var src=”images/off_1.png”;alert(src.substr(7,3)); 弹出值为:off ...
本文将详细介绍`substr`、`substring`、`indexOf`以及`lastIndexOf`这四个方法的用法及其区别,帮助读者更好地理解和应用这些方法。 #### 二、`substr` 方法 `substr`方法用于从一个字符串中提取从指定位置开始的...
除了上述基本用法,`substring`还可以结合其他字符串方法,如`lastIndexOf`, `startsWith`, `endsWith`等进行更复杂的文本操作。在实际编程中,根据需求选择合适的方法组合,可以灵活地处理字符串数据,满足各种文本...
`String`类是Arduino库提供的一种用于处理文本数据的数据类型,它提供了许多有用的方法,其中之一就是`substring()`。在本教程中,我们将深入探讨如何使用`substring()`方法来提取`String`对象中的子串。 `...
在IT领域,数据库是存储和管理数据的核心工具,而`substring`函数是数据库查询中一个非常重要的字符串操作函数。它允许我们从一个字符串中提取出指定部分,这在处理大量文本数据时尤其有用。让我们深入探讨一下`...
本文主要探讨了六个常用字符串函数:`substr()`、`substring()`、`indexOf()`、`lastIndexOf()`、`split()` 和 `replace()`,它们各自有着不同的功能和应用场景。 1. `substr(start, length)` `substr()` 方法从...
javascript js_leetcode题解之159-longest-substring-with-at-most-two-distinct
Given a string, find the length of the longest substring without repeating characters. Examples: Given "abcabcbb", the answer is "abc", which the length is 3. Given "bbbbb", the answer is "b", with...
substring用法简介
### C#中String类的方法详解:IndexOf、LastIndexOf与Substring #### 一、String.IndexOf 方法 **概述** `String.IndexOf` 方法用于查找指定字符或字符串首次出现的位置。该方法非常实用,在处理文本数据时经常被...
在操作sqlserver时候用到了substring函数 SUBSTRING ( expression, start, length ) 参数 expression 字符串、二进制字符串、文本、图像、列或包含列的表达式。请勿使用包含聚合函数的表达式。 start 整数或可以隐式...
Given a string s, find the longest palindromic substring in s. You may assume that the maximum length of s is 1000. Java AC 版本