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

专业做网站的公司哪家好运营推广计划

专业做网站的公司哪家好,运营推广计划,郑州网站建设模板制作,酒泉网站建设与制作来看哈我们这道例题 我们第一种想法应该就是暴力求解,枚举每个子数组 当我们枚举第一个数的时候,我们要从第一个数开始挨个枚举每个结尾 如图,以第一个数开头的最长不重复数我们就枚举完了 然后我们让两个指针全部到第二个数 再枚举第二个…

来看哈我们这道例题

我们第一种想法应该就是暴力求解,枚举每个子数组

当我们枚举第一个数的时候,我们要从第一个数开始挨个枚举每个结尾

如图,以第一个数开头的最长不重复数我们就枚举完了

然后我们让两个指针全部到第二个数

再枚举第二个数能到达的最长子数组

如图还是到这就停止了,我们再枚举第三个数

依旧是到这里停止,我们其实啊,没必要非得每次枚举都退回去,我们可以让l++,直到达到合法的区间之后,再继续往后枚举长度

也就是说 当我们到这个状态的时候,别让r退回去了,我们让左指针不断加加,直到达到一个合法的区间之后,再让r往后走

这道题,就算我们想用暴力枚举,我们也用不了的

因为暴力枚举时间复杂度是N平方,我们会超时的

而滑动窗口时间复杂度只是O(N),我们最差的情况就算l和r把数组都扫描了一遍,此时时间复杂度是N+N  也就是O(N)

我们再来捋一遍我们滑动窗口的步骤

step1:初始化,l=1 r=1 unordered map<int,int> mp;

step2:进窗口,r指针指向的元素在哈希表++

step3:判断是否为合法区间 即mp[a[r]]<=1→如果不合法就step5:出窗口 也就是不断让mp[a[l]]-- l++,直到mp[a[r]]<=1

step6:已经是合法区间了,我们更新长度

#include <iostream>
#include <unordered_map>
using namespace std;
const int N = 1e6+10;
int a[N];
int n;
int main()
{int T;cin >> T;while(T--){cin >> n;for(int i = 1;i<=n;i++){cin >> a[i];}unordered_map <int,int> mp;int l = 1,r = 1;int ret = 0;while(r<=n){mp[a[r]]++;//进窗口 while(mp[a[r]]>1)//判断 {mp[a[l]]--;//出窗口 l++;}ret = max(ret,r-l+1);//更新结果 r++;}cout << ret << endl;}return 0;
}

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

相关文章:

  • 品牌网站制作流程图百度推广怎么收费标准案例
  • 如何和其他网站做友情链接seo技术博客
  • 张家口网站开发最近新闻头条最新消息
  • 中国企业库济南网站优化排名
  • 江苏纬信网站建设nba最新消息球员交易
  • 软件开发工具的作用广东企业网站seo哪里好
  • wordpress如何清空关键词在线优化
  • wordpress publish网站关键词优化排名技巧
  • 哪里有免费的网站自己做网络公关公司收费
  • 百度网站标题优化西安网站建设公司电话
  • 建立旅游公司网站多钱网络营销包括几个部分
  • 如何自己建立网站建设农技推广
  • 政府门户网站模板怎样在百度上发布广告
  • wordpress 站点身份软件推广方案经典范文
  • 上海 松江 网站制作微信运营技巧
  • wordpress+克隆插件宁波seo搜索优化费用
  • 河南新闻网seo推广教学
  • 企业网站建设杭州青岛疫情最新情况
  • 不用写代码可以做网站的软件如何推广seo
  • 网站建设与管理技术发展长沙建站seo公司
  • 大连网站建设辽icp备网络营销课程设计
  • 做网站 站内搜索引擎seo优化公司哪家好
  • 厦门市翔安区建设局网站网站推广的渠道有
  • 如何建立公司网站账号花都网站建设公司
  • 网站建设 中山巩义网络推广外包
  • 算卦网站哪里可以做2024年阳性什么症状
  • 企业做网站预付账款会计分录网络平台怎么创建
  • 有了网站怎么开发application快速排名精灵
  • 网站评论怎么做网站打开速度优化
  • 网站flash客服百度搜索引擎