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

做网站中心seo优化公司如何做

做网站中心,seo优化公司如何做,个人作品展示 网站,html css网站开发兵书这个解题思路的核心是利用固定大小的滑动窗口和数组统计字符频率来高效判断子串是否为异位词。以下是详细解释: 1. 核心思路 异位词的定义:两个字符串包含的字符及其数量完全相同,只是顺序可能不同。例如,“abc” 和 “bca” 是…

这个解题思路的核心是利用固定大小的滑动窗口数组统计字符频率来高效判断子串是否为异位词。以下是详细解释:

1. 核心思路

  • 异位词的定义:两个字符串包含的字符及其数量完全相同,只是顺序可能不同。例如,“abc” 和 “bca” 是异位词。
  • 滑动窗口的适用性:由于异位词的长度必须与原字符串相同,因此可以在 s 中滑动一个长度为 p.size() 的窗口,逐一检查窗口内的字符频率是否与 p 一致。

2. 算法步骤

步骤1:预处理字符频率数组
  • 创建两个长度为 26 的数组(假设只包含小写字母):
    • target[26]:统计 p 中每个字符的出现次数。
    • window[26]:统计当前窗口中每个字符的出现次数。
步骤2:初始化第一个窗口
  • 遍历 s 的前 p.size() 个字符,将字符频率填入 window 数组。
步骤3:滑动窗口并检查匹配
  • 固定窗口大小:窗口始终保持长度为 p.size()
  • 每次滑动
    1. 右移窗口:将右侧新字符加入窗口(更新 window 数组)。
    2. 移出左侧字符:将左侧旧字符移出窗口(更新 window 数组)。
    3. 检查匹配:比较 windowtarget 是否完全相同。若相同,则记录当前窗口的起始位置。

3. 关键优化点

用数组替代哈希表
  • 由于字符集较小(26个小写字母),使用数组比哈希表更高效。数组的随机访问时间复杂度为 O(1),且无需处理哈希冲突。
固定窗口大小
  • 窗口大小始终等于 p.size(),避免了动态调整窗口的复杂性,简化了逻辑。
快速比较数组
  • 直接比较两个数组(window == target)的时间复杂度为 O(26) = O(1),因为数组长度固定。

4. 处理特殊情况

  • s.size() < p.size():直接返回空结果,因为无法构造有效窗口。

5. 复杂度分析

  • 时间复杂度:O(n),其中 n 是 s 的长度。每个字符仅被访问两次(加入窗口和移出窗口)。
  • 空间复杂度:O(1),因为数组大小固定为 26,不随输入长度变化。

6. 示例代码(参考力扣官方题解)

vector<int> findAnagrams(string s, string p) {vector<int> result;if (s.size() < p.size()) return result;vector<int> target(26, 0);vector<int> window(26, 0);// 统计p中字符频率for (char c : p) target[c - 'a']++;// 初始化第一个窗口for (int i = 0; i < p.size(); i++) {window[s[i] - 'a']++;}// 检查第一个窗口if (window == target) result.push_back(0);// 滑动窗口for (int i = p.size(); i < s.size(); i++) {// 移出左侧字符window[s[i - p.size()] - 'a']--;// 移入右侧字符window[s[i] - 'a']++;// 检查当前窗口if (window == target) result.push_back(i - p.size() + 1);}return result;
}

7. 与你的测试用例的关系

在你的测试用例中,sp 都很长,但主要由 a 组成。上述算法通过固定窗口大小和数组统计,能高效处理这种情况,避免了频繁哈希表操作的开销。每次滑动窗口只需 O(1) 时间更新频率并比较数组,因此即使字符串很长,也能快速找到所有异位词位置。

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

相关文章:

  • 昆明房产网站建设哪个浏览器看黄页最快夸克浏览器
  • 安平网站建设网站优化排名推荐
  • 网站媒体推广方案seo优化网站技术排名百度推广
  • 云课堂哪个网站做的好杭州优化公司多少钱
  • 怎样用html制作网站谈谈自己对市场营销的理解
  • 网站怎么做搜狗排名新乡seo公司
  • 微信投票网站制作百度seo公司兴田德润
  • 教育视频培训网站建设小红书seo优化
  • 专门做品牌折扣的网站有哪些百度热搜排名
  • 第二代营销网站郑州厉害的seo优化顾问
  • 制作网站river没干过网络推广能干吗
  • 网站禁止访问目录小学生班级优化大师
  • 四川省建设三类职称网站百度代理推广
  • 怎样做企业学校网站千万别在百度上搜别人的名字
  • 宁德市住房和城乡建设局网站打不开太原seo
  • 专门做试题的网站网络营销方案策划论文
  • wordpress 口碑营销主题白杨seo课程
  • 深圳哪家做网站好seo经验是什么
  • 政府门户网站建设 配置清单运营商大数据精准营销获客
  • 自己做网站赚钱案例友情链接怎么设置
  • 武汉网站制作的搜索引擎主要包括三个部分
  • 旅游网站建设相关报价表格线上推广有哪些平台效果好
  • 海口企业网站开发百度网络营销app下载
  • 深圳网站建设便捷泰州seo外包
  • 四川省建设安全质量监理协会网站哪里可以代写软文
  • 网上兼职做网站编辑网店运营培训
  • 高端网站制作费用专业seo网络推广
  • 沈阳黑酷做网站建设优化公司怎么样搜索引擎提交入口网址
  • 电脑网站打不开是什么原因造成的长沙seo研究中心
  • wordpress post_dateseo自然排名优化