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

建设一个网站的基本成本安卓优化大师最新版下载

建设一个网站的基本成本,安卓优化大师最新版下载,去哪个网站做试用好,公司做网站买域名之后做什么作者:翟天保Steven 版权声明:著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处 题目描述: 请从字符串中找出一个最长的不包含重复字符的子字符串,计算该最长子字符串的长度。 数据范围…

作者:翟天保Steven
版权声明:著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处

题目描述:

请从字符串中找出一个最长的不包含重复字符的子字符串,计算该最长子字符串的长度。

数据范围:

 s.length≤40000 s.length≤40000

示例:

输入:

"abcabcbb"

返回值:

3

说明:

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

解题思路:

本题是动态规划的经典题目。有两个解题思路。

思路一:滑动窗口

  1. 设计一个滑动窗口,窗口的右边界先行,用哈希表统计字符出现次数。
  2. 当出现重复字符时,左边界出发缩小窗口直到重复字符消失。
  3. 持续刷新最值就可以了。

思路二:动态规划

  1. 用哈希表存放字符上次出现的位置下标;用长度比字符串大1的vector,存放截止到第i个字符时,能继续维持的子串长度,比如v[0]=0,v[1]=1,v[2]可能为1可能为2。
  2. 执行遍历。用哈希表判断当前字符是否为重复字符,如果不是重复字符,那就在前面子串长度基础上加1;若出现了重复字符,则该字符与其重复字符的距离为i-m[s[i]],但如果两者之间有别的重复字符,则需要考虑此类情况,可以认为在其重复字符之后的子串中,该字符未出现过,则有v[i]+1;所以,比较v[i]+1和i-m[s[i]]谁小取谁,因为小的子串没断开,后续可以继续连接,而断开的子串虽然长度大,但不可以继续增加了。
  3. 持续更新字符最新下标以及子串长度最大值。

测试代码:

思路一:滑动窗口

class Solution {
public:// 最长子串int lengthOfLongestSubstring(string s) {// 定义哈希表unordered_map<char, int> m;// 滑动窗口遍历int result = 0;for(int left = 0, right = 0; right < s.length(); ++right){// 窗口右边界先行,统计字符出现次数m[s[right]]++;// 当出现重复字符,窗口左边界右移缩小窗口直到重复字符消失while(m[s[right]] > 1){m[s[left]]--;left++;}// 持续刷新子串最大长度result = max(result, right - left + 1);}return result;}
};

思路二:动态规划

class Solution {
public:// 最长子串int lengthOfLongestSubstring(string s) {// 定义哈希表,存放的是字符出现的位置下标unordered_map<char, int> m;int result = 0;// v[i]表示截止到i个字符时,能继续维持的子串长度// 所以v[0]=0,v[1]=1vector<int> v = vector<int>(s.length() + 1, 0);// i是字符串中字符下标for(int i = 0; i < s.length(); ++i){// 当哈希表中没发现重复字符,那就在前面最长子串长度基础上+1if(m.find(s[i]) == m.end())v[i + 1] = v[i] + 1;// 若出现了重复字符,该字符与其重复字符的距离为i-m[s[i]]// 但如果两者之间有别的重复字符,那要考虑这类情况// 可以认为在其重复字符之后的子串中,该字符未出现过,则有v[i]+1// 所以v[i]+1和i-m[s[i]]谁小,取谁,因为小的这个子串没断开elsev[i + 1] = min(v[i] + 1, i - m[s[i]]);// 刷新该字符最新下标m[s[i]] = i;// 刷新最值result = max(result, v[i + 1]);}return result;}
};

http://www.yidumall.com/news/63290.html

相关文章:

  • 高端网站开发秦帝免费的推广引流软件下载
  • 郑州网站优化公司电话百度推广需要什么条件
  • 房地产类的网站建设如何注册域名及网站
  • 做网站最好要买什么东西seo全网营销公司
  • 百度统计会对原网站产生影响吗网站怎么快速被百度收录
  • 304hk 爱站网可口可乐网络营销策划方案
  • 路桥做网站冯站长之家官网
  • 广西专业做网站的公司产品推广语
  • 工业和信息化部网站备案系统搜索关键词排名优化技术
  • 购物网站建设优势优化关键词的步骤
  • 巨蟹座适合网站建设吗网络推广推广外包服务
  • 怎么做网站的seo排名知乎seo快排技术教程
  • 深圳手机网站建设公司百度搜索关键词设置
  • 网站SEM优化如何做谷歌代运营
  • 东莞市做阀门的网站下载app
  • 家政网站建设google商店
  • 网站准备建设的内容seo是什么单位
  • 网站中添加百度地图app推广接单平台哪个好
  • 海口网站建设优化公司能打开各种网站的搜索引擎
  • 做的好的外贸网站如何给网站做推广
  • iis做的网站其他电脑能看吗怎么进行网站推广
  • 一键生成微信小程序上海抖音seo公司
  • 公司网站制作与推广深圳高端网站制作公司
  • 如何让别人看到自己做的网站网站cms
  • 深圳网站建设培训班搜索优化推广公司
  • 网站建设属于什么科目惠州百度推广排名
  • 网站打开很慢怎么做优化新闻头条今日要闻
  • 运用asp做购物网站的心得线上推广的方式有哪些
  • 中山做营销型网站好看的网站ui
  • 如何开设一个微信公众号网络seo