当前位置: 首页 > 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.yayakq.cn/news/80031/

相关文章:

  • 免费html网页模板素材网站中文绿色环保网站模板下载
  • 重庆家政网站建设ui视觉设计常用软件是什么
  • 医院 网站建设 中企动力wordpress主题文章页
  • 有网站加金币的做弊器吗6云畅网站建设后台
  • 做网站广告有哪些职位网站的大图标怎么做
  • 网站建设的专业知识企业网站快速备案服务
  • 江苏省交通运输厅门户网站建设管理中心餐饮网站开发方案
  • 网站建设与管理维护 大学论文wordpress慢 排查
  • 网站虚拟建设策划青岛有哪些大型的互联网公司
  • 公司网站建设接单网上商城网站开发需求说明书
  • destoon 网站后台wordpress qq微信登录
  • 做网站需要购买地域名吗公司网站制作制作
  • 高密哪里有做网站的37网页游戏中心
  • 温岭 网站建设软件生成器下载
  • 郑州网站制作哪家便宜信息服务平台网站
  • 采集的网站怎么做收录app模板免费下载
  • 养车网站开发网站公司设计 网站首页
  • 开网站制作公司网络优化大师手机版
  • h5 做移动端网站网络搭建国赛题
  • 一个服务器怎么做两个网站做网站怎么留接口
  • 公司做网站的钱网银转账用途1688外贸订单网
  • 做外贸进大公司网站青州网站建设公司
  • wordpress的x站模板wordpress两人共用
  • 网站制作怎么学下载网站建设
  • 网站开发语言学习C 吗个人网站建设咨询电话
  • 免费的微网站做图素材网站开哪个vip好
  • 烟台58同城网站建设建网站要注册吗
  • 茶叶网站建设网页设计制作百度贴吧广告投放
  • 网站建设中销售人员会问客户的问题深圳公司网站建设设计
  • 深圳网站建设服务哪家好dede网站文档不能更新