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

怎样网站制作设计外国网站的浏览器

怎样网站制作设计,外国网站的浏览器,asp装修公司网站,傻瓜式 建网站一、题目解析1.子串VS子数组它们都是连续的一段,子串是字符串中连续的一段,子数组是数组中连续的一段。2.字符串s由英文字母、数字、符号和空格组成 二、算法解析解法1:暴力枚举哈希表(判断字符是否出现) 时间复杂度为O(N^2)固定一个开头&…

一、题目解析

1.子串VS子数组

它们都是连续的一段,子串是字符串中连续的一段,子数组是数组中连续的一段。

2.字符串s由英文字母、数字、符号和空格组成 

二、算法解析

解法1:暴力枚举+哈希表(判断字符是否出现) 时间复杂度为O(N^2)

固定一个开头,枚举出所有可能子串

解法2:滑动窗口+哈希表 时间复杂度为O(N) 

why?为什么是滑动窗口?

最开始,left和right固定为同一起点处d,right向右移动,当遇到相同元素时,right指针可以停在原地,是因为若和上面left和right固定在e处一样,结果与下图相同,right始终会停留在相同的位置,left没有越过重复的元素a,所以right不会移动;根据后面图的规律,我们能推断出left和right都是向右移动的,而left和right之间的距离就像窗口一样,把内容给框了出来,这就是就是使用滑动窗口的原因。

how?滑动窗口的具体步骤?

1.定义双指针left,right
2.进窗口->让字符进入哈希表中
3.判断->当窗口内出现重复字符时,需要进行处理
        出窗口->从哈希表中删除该字符
这里的判断和出窗口是循环操作
4.更新结果
更新结果的位置可以出现在任意位置,根据题目要求来确认,更新结果位置,该题更新结果位置在判断结束之后更新结果。

 这里需要注意的why而不是how,当你足够熟悉时,滑动窗口代码编写不是难事,但是我们需要学习的思想,知道为什么能使用滑动窗口,不然遇到新的一道题也会找不到门路解决

三、代码示例

解法2:

class Solution {
public:int lengthOfLongestSubstring(string s) {int hash[128] = {0};//数组模拟哈希表int left = 0,right = 0;int n = s.size(),ret = 0;for(;right<n;right++){hash[s[right]]++;//进窗口while(hash[s[right]] > 1)//判断hash[s[left++]]--;ret = max(ret,right-left+1);//更新结果}return ret;}
};

这里没有使用unordered_map和unordered_set,反而使用hash数组通过下标映射来处理字符进入哈希表和删除操作

看到最后,如果对您有所帮助,还请点赞、关注和收藏,我们下期再见!

http://www.dtcms.com/wzjs/393564.html

相关文章:

  • 沈阳营销型网站设计教程互联网项目推广
  • 做的好的购物网站外贸seo网站建设
  • 化妆品手机端网站模板搜索引擎优化的概念是什么
  • 为什么要进行电子商务网站规划男生最喜欢的浏览器推荐
  • 法学院网站建设建议网络营销的核心是什么
  • 网站建设论文答辩网站建成后应该如何推广
  • 建设高端网站公司的目的微信软文广告经典案例
  • 宿州网站推广外包网络推广营销
  • 邢台县教育局五库建设网站热搜关键词查询
  • 网页设计与制作教程电子教案完整seo排名关键词点击
  • 怎么做写真网站最吸引人的营销广告词
  • 建设网站北京市推广方案模板
  • 小区百货店网怎么做网站危机公关
  • 做网站页面设计报价优势的seo网站优化排名
  • 微网站费用2019网站seo
  • 制作网站的设计难点50篇经典软文100字
  • 做平台是做网站和微信小程序的好别做seo有什么好处
  • 优化推广网站seo企业网站的作用有哪些
  • 网站机房建设成本百度助手app下载安装
  • 官网站建设的步骤过程公司网站免费自建
  • 做公司网站要多少钱宁波网站推广优化
  • 触动网站建设广东河源最新疫情
  • 微网站营销是什么谷歌推广公司
  • 上海市建设委员会网站网站域名解析ip查询
  • 如何在微信创建公众号甘肃seo技术
  • 做app的网站有哪些功能湖州网站seo
  • 德吉机械东莞网站建设seo高级教程
  • 企业网站建设需要什么旅行网站排名
  • 海口网站建设公司排名seo权重是什么意思
  • 武汉互联网企业嘉兴百度快照优化排名