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

免费做网站表白专业培训大全

免费做网站表白,专业培训大全,把手机做网站服务器,上海网站建设公司案例2023.9.15 本题我用的暴力双层for循环 unordered_set 解决的,外循环控制字符起始位置,内循环将字符放入 unordered_set,并查找有无重复的元素。 用了一个全局变量记录最长字串的长度,局部变量count记录当前层循环的最长子串长度…

2023.9.15

        本题我用的暴力双层for循环 + unordered_set 解决的,外循环控制字符起始位置,内循环将字符放入 unordered_set,并查找有无重复的元素。  用了一个全局变量记录最长字串的长度,局部变量count记录当前层循环的最长子串长度。 代码如下:

class Solution {
public:int lengthOfLongestSubstring(string s) {if(s.size() == 0) return 0;int ans = 1;for(int i=0; i<s.size(); i++){unordered_set<char> set;set.insert(s[i]);int count = 1;for(int j=i+1; j<s.size(); j++){if(set.find(s[j]) == set.end()) //没找到重复元素{count++;set.insert(s[j]);ans = max(ans , count);}else break;}}return ans;}
};

        暴力循环+每层循环都用了unordered_set,可想而知,时间和空间消耗都相当高... 

        看了下别人的解法,这题还可以用滑动窗口来做。定义一个left指针指向滑动窗口的最左端,for循环的i向前遍历。每当发现重复元素,就不断将set头部元素删除,直到没有重复元素位置。最后不断更新最长子串的长度即可。

        代码如下:

class Solution {
public:int lengthOfLongestSubstring(string s) {if(s.size() == 0) return 0;queue<char> que;int ans = 1;int left = 0;for(int i=0; i<s.size(); i++){while(set.find(s[i]) != set.end()) //找到重复元素了{set.erase(s[left]);left++;}set.insert(s[i]);ans = max(ans , i-left+1);}return ans;}
};

http://www.tj-hxxt.cn/news/73184.html

相关文章:

  • 网站建设链接为企业策划一次网络营销活动
  • thinkphp 门户网站新闻播报最新
  • js博客网站开发计划书网络推广引流是做什么工作
  • 常州网站建设企业网站微信销售平台
  • 怎么做网站用dreamwer百度官方客服
  • 色彩学习网站互联网怎么赚钱
  • 敦化网站建设seo推广视频隐迅推专业
  • 荆州哪里做网站seo域名综合查询
  • 360网址大全电脑版重庆seo网络优化咨询热线
  • wordpress怎么把分类弄在左边seo在线论坛
  • 叫别人做网站需要注意什么问题百度手机版下载
  • html网站列表怎么做seo教程免费
  • 做备案的网站优化游戏卡顿的软件
  • 网站项目的流程百度免费官网入口
  • 如何创建自己的软件天津抖音seo
  • wordpress和the7主题的关系湖南seo优化排名
  • 如何用图片做网站背景无安全警告的浏览器
  • 做购物网站用服务器微信营销模式
  • 滁州新手跨境电商建站哪家好最新的军事新闻
  • 营销型网站报价seo推广排名平台有哪些
  • 服装设计网站免费西安关键词排名优化
  • 做网站如何寻找客源有实力的网站排名优化软件
  • 建设网站网页打不开保定seo建站
  • 什么做电子书下载网站好产品推广渠道有哪些方式
  • 合肥专业商业网站关键词优化资讯
  • 威海哪家网站做的好微信推广怎么弄
  • 网站打开404错误怎么解决方法产品推广步骤
  • 荷城网站制作公司视频号排名优化帝搜软件
  • 网站开发标书范本黄冈seo
  • 什么网站做批发凉席广州百度竞价外包