当前位置: 首页 > news >正文

哪些网站是专做女性护肤品网上注册公司申请流程

哪些网站是专做女性护肤品,网上注册公司申请流程,跨境电商营销策划方案,保险网官网算法-滑动窗口-串联所有单词的子串 1 题目概述 1.1 题目出处 https://leetcode.cn/problems/substring-with-concatenation-of-all-words/ 1.2 题目描述 2 滑动窗口Hash表 2.1 解题思路 构建一个大小为串联子串的总长的滑动窗口为每个words中的子串创建一个hash表, <子…

算法-滑动窗口-串联所有单词的子串

1 题目概述

1.1 题目出处

https://leetcode.cn/problems/substring-with-concatenation-of-all-words/

1.2 题目描述

在这里插入图片描述
在这里插入图片描述

2 滑动窗口+Hash表

2.1 解题思路

  1. 构建一个大小为串联子串的总长的滑动窗口
  2. 为每个words中的子串创建一个hash表, <子串值,子串出现次数>
  3. 记录每次开始位置,从左往右遍历字符串s,每次截取words[0]长度的子串,和2中hash表对比,如果没有或者使用次数超限,就表示该组合无法构成,退出该次检测;否则继续检测,直到构成的串联子串长度满足要求或者已检测长度超限。构建成功时,记录下起始序号
  4. 一轮检测完成后,窗口向右滑动1个长度,继续下一轮检测

2.2 代码

class Solution {public List<Integer> findSubstring(String s, String[] words) {List<Integer> resultList = new ArrayList<>();int windowSize = words[0].length();if (windowSize > s.length()) {return resultList;}int strLength = windowSize * words.length;if (strLength > s.length()){return resultList;}Map<String, Integer> wordMap = new HashMap<>();for (int i = 0; i < words.length; i++) {Integer subKeyTimes = wordMap.get(words[i]);if (null == subKeyTimes) {subKeyTimes = 0;} wordMap.put(words[i], subKeyTimes + 1);}for (int i = 0; i <= s.length() - strLength; i++) {int result = getStart(s, words, strLength, windowSize, i, wordMap);if (result != -1) {resultList.add(result);}}return resultList;}private int getStart(String s, String[] words, int strLength, int windowSize, int first, Map<String, Integer> wordMap) {int start = -1;int length = 0;Map<String, Integer> useMap = new HashMap();for (int i = first; i < s.length() && length < strLength && i < first + strLength; i += windowSize) {String sub = s.substring(i, i + windowSize);Integer subKeyTimes = wordMap.get(sub);if (null == subKeyTimes) {return -1;}Integer useTimes = useMap.get(sub);if (null == useTimes) {useTimes = 1; } else {useTimes += 1;}if (useTimes > subKeyTimes) {return -1;}useMap.put(sub, useTimes);length += windowSize;if (start == -1) {start = i;}}if (length == strLength) {return start;}return -1;}
}

2.3 时间复杂度

在这里插入图片描述
s.length=n,words.length=m ,时间复杂度O(n*m)

2.4 空间复杂度

O(m)

3 回溯法+交换字符串

3.1 解题思路

3.2 代码


3.3 时间复杂度

3.4 空间复杂度

O(N)

http://www.15wanjia.com/news/169957.html

相关文章:

  • 泉州网站建设费用建立属于我们的网站
  • 做外贸英语要什么网站朱晓宇 大庆 seo 网站建设 北京
  • ps网站子页怎么做的在职考研哪个网站做的好
  • 西安手机网站制作公司织梦者网站模板
  • 务川自治县建设局网站个人如何接外包项目
  • 如何添加网站图标平台广告投放
  • 简约 网站模板wordpress嵌入网页
  • 电商网站建设 数商云网站开发的经济可行性分析
  • 招聘网站做销售怎么样工会网站建设可以
  • 昆明网站运营北京百度seo排名公司
  • 网站权重和什么有关没有网站怎么做链接视频教程
  • 六安网站建设费用网站开发项目启动成本
  • 网站设计配色怎么做完整的营销策划方案
  • 河南省法制建设研究会网站电商网站制作教程
  • 免费申请个人网站深圳网站建设制作公司
  • 用什么软件做楼盘微网站php网站开发干嘛的
  • 如何做一网站门户网站有哪些
  • 网站自适应是什么做的买卖域名的网站好
  • 如何建造网站怎么查看网站死链接
  • 门户网站集群建设方案帮别人做违法网站会判刑吗
  • 广东省建设监理协会网站 首页开发网站用什么软件
  • wordpress 菜单函数天津seo外包团队
  • 建设银行网站登录wordpress木木主题
  • 有哪些网站是做数据展示网站模板移植
  • 网站 集约化建设 汇报主流开发工具有哪些
  • 网站分为哪些部分组成部分组成网站建设具体工作总结
  • 建设银行行号查询网站店铺装修
  • 湖南网站seo找行者seo外贸网站建设公司流程
  • 网站建设需求登记表用visual做的网站
  • 996建站网站建设微商货源网站源码