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

免费自助建站网站一览阿里云 企业 网站

免费自助建站网站一览,阿里云 企业 网站,域名是否就是网站,杭州网站建设招聘题目描述: 给定一个字符串 s ,请你找出其中不含有重复字符的 最长子串 的长度。 示例 1: 输入: s "abcabcbb" 输出: 3 解释: 因为无重复字符的最长子串是 "abc",所以其长度为 3。示例 2: 输入: s "bbbbb&quo…

题目描述:

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

示例 1:

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

示例 2:

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

示例 3:

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

我的解法:

int lengthOfLongestSubstring(char* s) {int left=0,right=0;int len=0,max=0;int hash[256]={0};for(;s[right]!='\0';right++){if(hash[s[right]]!=0&&hash[s[right]]>left){left=hash[s[right]];}hash[s[right]]=right+1;len=right-left+1;if(len>max) max=len;}return max;
}

        分析:由于题目没有限定空间,可以开一个数组,用ASCII码实现哈希映射。例如:第一个字符a的ASCII码为97,则遍历到字符a时,令数组hash[97]=1,当下一次遍历到字符a时,检查hash[97]储存的值为1,即可知上一次a出现在字符串数组下标为0处。(注意下标从0开始,而元素从1开始数,因此可以将hash存储的数理解上一次字符出现位置的下一位,即为窗口滑动后left的新位置)。right依次遍历,通过检索遍历元素在hash数组中对应的下标来调整left的位置,使得left和right之间的字符串为满足要求的无重复字符子串。插一嘴,for循环判定时最好用s[right]!='\0',或者在循环前定义n=strlen(s);,不要偷懒直接把for循环判定写成right<strlen(s),这样每次for循环都要调用一遍时间复杂度为n的strlen函数,增加了很多不必要的时间开销。(csapp后遗症,dddd)

http://www.yayakq.cn/news/883235/

相关文章:

  • 2013年四川省泸州市技能竞赛网站建设样稿面试网站建设的问题
  • 深圳龙岗建设网站全立体网站建设
  • 保定网站优化ks免费刷粉网站推广
  • 网站3级目录可以做导航分类么九江网站开发公司
  • 做特卖的网站网站建设可自学吗
  • 电子商务和网络购物网站做网站的厂家
  • 做网站公司哪家强wordpress修改默认字体颜色
  • 尤溪网站建设深圳游戏公司
  • 网站布局的三种基本方法wordpress网络验证码
  • c 做网站实例公司介绍模板ppt
  • 潍坊品牌网站建设美食网站建设规划书
  • 做泵阀生意到哪个网站东莞整合网站建设
  • 佛山电商网站制作网站群发软件
  • 企业建站原因WordPress的theme父主题命名
  • 常州建设工程信息网站seo技术平台
  • 古建设计网站企业网电话
  • 做网站行情jsp简单的网站开发例子
  • 南宁网站建设招聘云南网站建设哪家强
  • 做购物网站是怎么连接银行中小互联网企业有哪些
  • 有价值 网站wordpress同步知乎插件
  • 北京制作网站多少钱网站title是什么意思
  • aspcms网站栏目调用如何网站后台清理缓存
  • 建设银行网站用户权限哪公司建设网站
  • 中国做网站找谁ui培训怎么样
  • 手机能进封禁网站的浏览器电子商务网站建设的可行性分析
  • 用网站做的简历网店代运营有哪些
  • 灯饰 东莞网站建设厦门做企业网站
  • 网站建设租房网模块wordpress redirect
  • dw静态个人简历网站模板下载透明管理系统网站模板
  • 企业网站不备案可以吗运城网站建设专业服务商