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

163网站建设静安做网站

163网站建设,静安做网站,建设学院实验网站的作用,网站首页设计图力扣 3 无重复字符的最长字串 题目描述 给定一个字符串 s ,请你找出其中不含有重复字符的 最长子串 的长度。 示例 1: 输入: s "abcabcbb" 输出: 3 解释: 因为无重复字符的最长子串是 "abc",所以其长度为 3。示例 2: 输入: s…

力扣 3 无重复字符的最长字串

题目描述

给定一个字符串 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 由英文字母、数字、符号和空格组成

思路分析

关于这道题用滑动窗口的思想来做的话会非常麻烦,既要考虑最长的字串长度,同时还要保证不出现重复字符(考虑窗口里的每一个字符不重复),我们可以用一个非常巧妙的思路

这个思路利用了关于哈希算法以及字符的ascii编码来进行。我们首先定义一个数组名为hash,容量为256的数组,初始化为0。随后开始遍历整个字符串,这里需要两层循环,利用每一个字符的ascii编码当作数组的下标,如果下标对应的值为零,我们设置为1,并进入下面if语句的运行,如果下一个字符和它相等,就不会进入接下来的判断,这是判断不出现重复字符的方法。

关于求最长的字串长度,我们利用两个下标,从第一个字符开始,如果接下来的字符对应的下标的数组为0就进入if语句,此时遍历的两个下标的差值在加上原来的第一个字符(也算不重复的字串)便是不出现重复字符字串的长度,同时定义一个max值保留每一次的最大值即可。

完整代码

int lengthOfLongestSubstring(char* s) {int j=0;int i=0;int max=1;int n=strlen(s);if(n==0){return 0;}for(i=0;i<n;i++){int hash[256]={0};for(j=i;j<n;j++){if(hash[s[j]]==0){hash[s[j]]=1;if(j-i+1>max){max=j-i+1;}}else{break;}}}return max;}

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

相关文章:

  • 手绘风格 网站wordpress 手机网站支付宝
  • 触屏版网站设计装饰设计公司属于什么行业
  • 安监网站安全建设信息wordpress文字添加图片不显示图片
  • 嘉兴手机网站wordpress如何发布文件
  • 网站建设公司谁家好创手机网站
  • 中山建网站报价常州企业自助建站系统
  • 北京海淀财政局网站网站在哪设置关键词
  • 广州网站建设业务网站制作的服务怎么样
  • 浙江省住建厅网站wordpress投票主题
  • 企业网站系统建设需求调研表wordpress怎样输入分数
  • 合肥市建设局网站济南网站制作
  • 私人为别人做网站违法问题凡科网站制作平台
  • 微信开发者代码管理优秀seo平台
  • 做瞹瞹爱免费网站南宁网站建公司吗
  • 网站系统开发流程手机商城官网旗舰店
  • 网站开发接入本地天地图红色网站建设
  • 可以做c语言任务的网站wordpress哪个主题适合做网址导航
  • 从化移动网站建设网站基础功能
  • 怎样做seo网站链接网站建设图片编辑
  • 手机旅游视频网站模板手机网站端域名怎样做解析
  • 网站建设文案详情wordpress菜单外链
  • 做外贸有哪些免费的网站做蔬菜配送有什么网站可下载了解
  • 知名高端网站建设世界互联网峰会时间
  • 网站的运营与维护深圳网站建设哪家公司便宜
  • 如何用自己电脑做销售网站怎么做页面跳转
  • 郑州做网站七彩科技wordpress外汇
  • 推广网站软文电脑网
  • 中国空间站建成时间企业自己做网站
  • 温州电子网站建设凤凰网最新军事新闻
  • 农博园网站建设投标书直播平台创建公会