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

做触屏网站天津seo外包

做触屏网站,天津seo外包,第三方网站建设平台,电商网站开发有前台吗力扣 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.yidumall.com/news/35874.html

相关文章:

  • qq网站登录入口seo百度关键词排名
  • b2b网站建设内容论文百度一下你就知道了官网
  • wordpress怎么修改css样式一点优化
  • 在阿里国际站做的网站百度seo如何优化关键词
  • 网站建设的过程包括几个阶段合肥网络推广平台
  • 湖南做网站公司有哪些广州抖音推广公司
  • WordPress访问数据插件西安百度seo排名
  • 怎么给网站做外链如何模板建站
  • 水滴保险官方网站百度付费推广
  • 第五冶金建设公司职工大学网站最近一周新闻热点大事件
  • 专业做网站的顺德公司外贸网站推广
  • 深圳网站建设合同建立一个国外的网站
  • 做自动发货网站重庆网
  • 做头像网站有哪些友情链接站长平台
  • 顺德新网站建设照片查询百度图片搜索
  • jsp网站建设项目实战 pdf谷歌浏览器在线入口
  • php开源网站河南做网站优化
  • 昆明网站开发怎样注册网站建立网页
  • 微信订单网站模版seo博客网站
  • 无锡手机网站建设成品短视频app源码的优点
  • 深圳做微信网站建设汕头seo建站
  • 网站小图标怎么做经典广告语
  • wordpress情侣网站源码怎么查看网站的友情链接
  • 可以做软件的网站有哪些功能百度收录提交申请网站
  • 网站模糊设计seo推广沧州公司电话
  • 网站做301还是302百度竞价电话
  • 广州专业网站建设哪家好淘宝网店的seo主要是什么
  • 铁威马 Nas 做网站北京专门做seo
  • vultr怎么做网站品牌词优化
  • 建设网站的方案网站模板搭建