c语言sscanf函数的用法是什么
344
2022-08-26
[leetcode] 30. Substring with Concatenation of All Words
Description
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.
Example 1:
Input:
s = "barfoothefoobarman", words = ["foo","bar"]
Output:
[0,9]
Explanation:
Substrings starting at index 0 and 9 are "barfoor" and "foobar" respectively.The output order does not matter, returning [9,0] is fine too.
Example 2:
Input:
s = "wordgoodgoodgoodbestword", words = ["word","good","best","word"]
Output:
[]
分析
题目的意思是:串联所有单词的子串.
只需要两个map就行了,其中一个map1记录每个单词的频率,然后遍历原字符串,由于单词是固定长度的,所以每次截取固定长度的单词,判断其是否在map1中,如果在,判断其是否有重复,所有第二个map2的作用就来了,用map2来记录其统计我们匹配的每个单词的频率,这样可以判断是否有重复,map2上的每个单词都在map1中,且不重复,这样就可以得到符合要求的子字符串的起始位置。
代码
class Solution {public: vector
参考文献
[编程题]substring-with-concatenation-of-all-words[LeetCode] Substring with Concatenation of All Words 串联所有单词的子串
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。
发表评论
暂时没有评论,来抢沙发吧~