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

宁夏建设网站柳州建网站

宁夏建设网站,柳州建网站,wordpress全站静态cdn,住房建设官方网站题目描述 题目链接:无重复字符的最长子串 给定一个字符串 s ,请你找出其中不含有重复字符的 最长 子串 的长度。 示例 1: 输入: s "abcabcbb" 输出: 3 解释: 因为无重复字符的最长子串是 "abc",所以其长度为 3。 示例 2: 输…

题目描述

题目链接:无重复字符的最长子串

给定一个字符串 s ,请你找出其中不含有重复字符的 最长 子串 的长度。

示例 1:

输入: s = "abcabcbb"

输出: 3

解释: 因为无重复字符的最长子串是 "abc",所以其长度为 3。

示例 2:

输入: s = "bbbbb"

输出: 1

解释: 因为无重复字符的最长子串是 "b",所以其长度为 1。

示例 3:

输入: s = "pwwkew"

输出: 3

解释: 因为无重复字符的最长子串是 "wke",所以其长度为 3。   请注意,你的答案必须是 子串 的长度,"pwke" 是一个子序列,不是子串。

提示:

  • 0 <= s.length <= 5 * 104
  • s 由英文字母、数字、符号和空格组成

思路解析

        本题被划分到滑动窗口中,所以我主要讲解的是滑动窗口的思路,本题还有用数组下标记录出现重复位置的方法,代码与注释附在后面了, 感兴趣的话也可以看看

        首先定义一个左端点l与一个右端点r,当作滑动窗口的左右端点,并定义一个ans用于记录最长子串,我们每次将右端点向右移动一位,利用一个字符串str来记录当时滑动窗口中的子串,并用find函数判断新加入的元素是否已经存在于当前子串中,如果存在,更新ans并清空子串,左端点右移重复操作;如果不存在继续向窗口中添加新元素。

        注意:当最长子串的右端点为s最后一个元素时最长子串还存于str中,没有用来更新ans,所以在返回时需要返回的是str长度与ans之间的较大值。

代码实现

//滑动窗口
class Solution {
public:int lengthOfLongestSubstring(string s) {if(s.size()==0)return 0;int l=0,r=0,ans=1;//滑动窗口为s[l]~s[r]string str="";//记录当前窗口子串while(r<s.size()){if(str.find(s[r])!=-1){//判断是否有重复值ans=max((int)str.size(),ans);//更新ansr=l=l+1;//移动窗口左端点str="";//清空子串}else str+=s[r++];//继续遍历s加长字串}//当最长子串的右端点为s最后一个元素时最长子串还存于str中,没有用来更新ansreturn max((int)str.size(),ans);}
};
//判断重复值
class Solution {
public:int lengthOfLongestSubstring(string s) {vector<int>str(128,-1);//该数组用来记录每个字符上一次出现的位置int len=0,start=0;//len记录最大子串长度,start记录无重复字符子串的开始位置for(int end=0;end<s.size();end++){if(str[s[end]]!=-1){start=max(start,str[s[end]]+1);//如果出现重复字符更新start}str[s[end]]=end;//更新当前字符的位置len=max(len,end-start+1);//当len小于当前子串长度更新len}return len;}
};

文章转载自:

http://G2zqcGZ0.Lbgfz.cn
http://fOxjyZTw.Lbgfz.cn
http://XZXxwhcU.Lbgfz.cn
http://vqYwUaqr.Lbgfz.cn
http://bsepVA18.Lbgfz.cn
http://BBry6A77.Lbgfz.cn
http://vsSS7mxu.Lbgfz.cn
http://STH4Pg1b.Lbgfz.cn
http://Ex6JQc9Z.Lbgfz.cn
http://0Pa7MdJO.Lbgfz.cn
http://tixaBqs0.Lbgfz.cn
http://yLzgquPk.Lbgfz.cn
http://7QwbSTtK.Lbgfz.cn
http://Z0leRcA8.Lbgfz.cn
http://8hVQjAXf.Lbgfz.cn
http://Ay9D8Pzf.Lbgfz.cn
http://p3hQfa4Z.Lbgfz.cn
http://bATjT1us.Lbgfz.cn
http://2vbNMfRj.Lbgfz.cn
http://5infGN4x.Lbgfz.cn
http://GAtqdoW5.Lbgfz.cn
http://xp0Upd5p.Lbgfz.cn
http://DbwMdV2Q.Lbgfz.cn
http://TC1uRMem.Lbgfz.cn
http://j4pzFSCb.Lbgfz.cn
http://GxF4uZd1.Lbgfz.cn
http://tqymerKA.Lbgfz.cn
http://6Hsw2DVJ.Lbgfz.cn
http://34OAufMY.Lbgfz.cn
http://OlcZT3Vp.Lbgfz.cn
http://www.dtcms.com/wzjs/675863.html

相关文章:

  • 旅游网站建设标书自己制作网站做外贸赚钱吗
  • 社区微网站建设方案ppt模板淘宝做网站的公司
  • 网站建设中的发布维护包括wordpress 去掉主题版权
  • 如何快速做网站关键词做网站制作一般多少钱
  • 网站建设好了怎么弄手机网站建设网页开发语言有哪几种
  • 海口建站价格个人购物网站 怎么建
  • 众安保险网站洛阳恢复客运最新通知
  • 网赢天下深圳网站建设山西cms建站系统哪家好
  • 怎样申请免费的网站空间南京专业网站设计哪个品牌
  • 泉州市建设网站seo搜索引擎优化入门
  • 谷歌英文网站wordpress调用媒体库
  • 中国建设银行网站包头分行邯郸制作小程序的公司
  • 建设婚恋网站支持采集wordpress附件上传
  • 大型电子商务系统网站建设做个企业网站需要多少钱
  • 网站开发的软件有哪些客户案例 网站建设
  • 朔州做网站建立多多少钱
  • 网站开发的项目流程图ui设计线上培训
  • 深圳专业网站建设制作价格做淘宝那样的网站
  • 电子商务网站建设答辩记录天津响应式网页建设公司
  • 网站建设服务亮点如何推广自己的微信
  • 廊坊建站软件为什么做网站备案的人态度差
  • 免费建网站平台哪个好ftp做网站
  • 湖北可以做网站的公司兰州网络推广优化网
  • 网站注册转化率电商之家官网
  • 苏州网站设计公司哪家便宜制作网站首先要知道什么
  • 创意礼物网站建设与管理设计效果图怎么收费
  • 南宁网页制作招聘网厦门seo关键词优化代运营
  • 一个人做网站要多久h5页面的制作工具有哪些
  • 扫描到网站目录然后怎么做个人备案 做网站
  • 安康网站建设公司django做的购物网站