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

绵阳手机网站制作巨量引擎广告投放平台官网

绵阳手机网站制作,巨量引擎广告投放平台官网,泰安市平台公司,帮别人设计做关于图的网站废话不多说,喊一句号子鼓励自己:程序员永不失业,程序员走向架构!本篇Blog的主题是最长无重复子串或最长无重复子数组,这类题目出现频率还是很高的。 最长无重复子串【MID】 先来看字符串数据结构的题目 题干 解题思…

废话不多说,喊一句号子鼓励自己:程序员永不失业,程序员走向架构!本篇Blog的主题是最长无重复子串或最长无重复子数组,这类题目出现频率还是很高的。
在这里插入图片描述

最长无重复子串【MID】

先来看字符串数据结构的题目

题干

在这里插入图片描述

解题思路

整体目标就是获取最大的无重复滑动窗口

  1. 双指针标识数组或字符串的位置,右指针可以理解为放大窗口指针,左指针可以理解为缩小窗口指针
  2. 定义一个set用来存储元素位置对应的值
  3. 右指针先行,如果一直无重复就一直开拓窗口并更新max值,否则移动左指针缩小窗口,直到将重复值缩到窗口以外。

如下图所示:
在这里插入图片描述

代码实现

基本数据结构字符串
辅助数据结构哈希表
算法迭代
技巧双指针、滑动窗口

class Solution {public int lengthOfLongestSubstring(String s) {// 1 判断入参是否为空列表if (s.length() == 0) {return 0;}// 2 定义返回结果最大值和左右指针以及滑动窗口集合int max = 0;int left = 0;int right = 0;Set<Character> set = new HashSet<>();// 3 滑动窗口移动并在无重复时计算最大值while (left < s.length() && right < s.length()) {// 1 无重复,右指针继续移动,重新计算最大值if (!set.contains(s.charAt(right))) {set.add(s.charAt(right++));max = Math.max(max, right - left);} else {// 2 有重复,左指针继续移动,直到将重复元素移出集合set.remove(s.charAt(left++));}}return max;}
}

复杂度分析

时间复杂度为O(N),因为遍历了字符串;空间复杂度为O(N),借助了HashSet的存储空间

http://www.ds6.com.cn/news/73778.html

相关文章:

  • 网站模板 酒类百度广告怎么收费
  • 封面型网站首页怎么做网站提交收录入口
  • 企业网站开发协议seo简单速排名软件
  • 安国网站建设网络营销是什么意思
  • 建设网站虚拟主机是啥意思2022年明星百度指数排行
  • 做网站的天空网企业网站模板设计
  • 微信链接的微网站怎么做的小说搜索风云榜
  • 昆明做网站费用百度搜索关键词优化方法
  • 怎么给网站添加音乐百度推广营销方案
  • 做好公众号 网站建设国外引流推广软件
  • 做网站优化公司快速排序优化
  • 个人响应式网站怎样宣传网站
  • 网站改名 备案营销神器
  • 如何上传自己的做的网站seo视频教程我要自学网
  • 昆山做轮胎网站厦门seo培训
  • 通常做网站要多久软件排名工具
  • 网站网页区别是什么意思seo分析与优化实训心得
  • 网站怎么做搜索栏百度站长工具怎么关闭
  • 网站制作培训seo实战密码电子书
  • md风格的wordpress主题安卓优化大师新版
  • 购物网站用香港空间东莞网站制作的公司
  • 做网站 域名如何要回抖音seo点击软件排名
  • behance设计网站官网入口长沙seo技术培训
  • 学士学位网站重置密码怎么做网站关键词有哪些
  • 网站 二维码的作用培训机构排名前十
  • 北京网站开发公司大全百度新闻网站
  • 网站无法访问的原因怎么开展网络营销推广
  • 手机app制作网站用什么软件湖南seo服务
  • 柳州企业网站建设价格无锡百度推广平台
  • 茂名市住房和城乡建设局网站网站首页快速收录