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

wordpress无需代码建站网络营销推广方案公司

wordpress无需代码建站,网络营销推广方案公司,WordPress哪个数据库,影视自助建站官网一、题目解析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/782500.html

相关文章:

  • 专业商城网站建设价格低php 如何在网站根目录创建文件夹
  • 可以做公司网站网页设计的基本元素
  • 湖南省建设厅政务中心网站wordpress快递主题
  • 网站表格代码网页设计培训班需要多久
  • 丹阳网站建设价位做网站难么
  • 无锡开发网站建设网页版微信怎么换行
  • 专业网站建设 公司wordpress pdf 加密
  • 商场网站设计江苏金地建设工程有限公司网站
  • html5手机网站发布dede网站底部
  • 自己站网站大连建站价格
  • 怎样制作一个网站设计案例网
  • 竞价托管网站建设网页制作大全
  • 电子商务平台网站建造网站建设富有成效
  • 做厂房的网站济南住建网站
  • 凡科如何开通网站建设页面设计中按钮的摆放
  • 做网站的经验wordpress 4.9.4 中文
  • 苏州好的网站公司名称百度怎样建设网站
  • 发号网站源码品牌网站建设黑白H狼
  • 网站注册平台怎么注册建设电影播放网站
  • 免费部署网站下载一个app
  • 零食网站色调搭配怎麽做昆山 网站建设 企炬
  • 网站建设中有关层的使用的步骤浙江建设厅特种考试查询
  • 怎么把自己做的网站传网上婚纱网站html模板
  • 个性化建网站定制黄冈市住房和城乡建设厅网站
  • 网站建设的进度电脑路由器做网站服务器
  • 家具公司网站模板如何在网上做网站推广
  • 江西建设安全网站2345浏览器网页版入口中文版
  • 网站建设 淘宝运营网站后台改前台不变
  • 唐山哪里建地铁网站优化推广价格
  • 建立网站 英语网站推广员招聘