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

莱州网站建设教程灯饰外贸网站

莱州网站建设教程,灯饰外贸网站,个人网站代码html,南京网站排名外包题目描述 解题思路 本题用到了滑动窗口 双指针 哈希 刚开始我是没读懂题的因为我笨 我想把我的思路说一下 左端不轻易缩小 只有找到跟word2匹配了 比如说abbcdd 遍历到c的时候才能匹配这个word2 对吧 那么之后加上以一个d或者俩d 都符合了 然后我们算完了 才能缩小左端 扩大…

题目描述

解题思路

本题用到了滑动窗口 双指针 哈希

刚开始我是没读懂题的因为我笨

我想把我的思路说一下 左端不轻易缩小 只有找到跟word2匹配了 比如说abbcdd  遍历到c的时候才能匹配这个word2 对吧 那么之后加上以一个d或者俩d 都符合了 然后我们算完了 才能缩小左端 扩大右端

让left先不动 等字符频次和目标频次完全匹配后 right右边剩余的所有字符都可以加到结果字符串中作为符合的子字符串 然后再移动left

代码示例

class Solution {public long validSubstringCount(String word1, String word2) {int n = word1.length();int m = word2.length();// 统计 word2 的字符频次Map<Character, Integer> countWord2 = new HashMap<>();for (char c : word2.toCharArray()) {countWord2.put(c, countWord2.getOrDefault(c, 0) + 1);}// 滑动窗口的字符频次计数器Map<Character, Integer> countWindow = new HashMap<>();int left = 0;  // 窗口左边界long result = 0;int matched = 0;  // 记录匹配的字符数量// 开始滑动窗口的遍历for (int right = 0; right < n; right++) {// 扩展右端,加入当前字符char rightChar = word1.charAt(right);countWindow.put(rightChar, countWindow.getOrDefault(rightChar, 0) + 1);// 如果该字符在 word2 中存在,且它的频次也匹配了if (countWord2.containsKey(rightChar)) {if (countWindow.get(rightChar).equals(countWord2.get(rightChar))) {matched++;}}// 当窗口中的字符频次与 word2 完全匹配时while (matched == countWord2.size()) {// 计算从当前窗口到字符串末尾的所有合法子串result += (n - right);  // 从 right 到字符串末尾的所有子串都是合法的// 缩小左端,移除左边的字符char leftChar = word1.charAt(left);if (countWindow.get(leftChar) > 0) {countWindow.put(leftChar, countWindow.get(leftChar) - 1);}if (countWord2.containsKey(leftChar)) {if (countWindow.get(leftChar) < countWord2.get(leftChar)) {matched--;  // 如果频次不再匹配,匹配字符数减少}}left++;  // 左端收缩}}return result;}
}
http://www.yayakq.cn/news/341916/

相关文章:

  • 营销型网站建设模板下载网站申请备案成功后怎么建设
  • 临颖网站建设长沙it公司
  • 机械行业营销型网站怎么查找公司的注册信息
  • 做搜狗pc网站优化首宁波室内设计公司排名
  • 岚县网站建设影视公司网站模板
  • 网站等级保护测评必须做吗网站制作与防护费用
  • 学校网站管理系统免费版网站一键收录
  • 建设网站要多久到账windows8风格网站模板
  • 洛阳外贸网站推广第三方网站做app
  • 物流那个网站做推广好网址大全qq浏览器
  • 网页设计作业个人网站用名字做头像是什么网站
  • 公司网站建设服务公司网站内部seo优化包括
  • 长沙网站制和镜像网站做友链
  • 成都的设计院有哪些上海seo招聘
  • 优秀网站建设哪家便宜怎么做各个地图网站的认证
  • 怀化网站优化公司推荐网站备案 更换接入商
  • 自己如何建设外贸网站建站网站策划与运营
  • 秦皇岛开发区建设局网站怎样设计卖奖的网站
  • 咸阳市城市建设管理局网站海外网站速度慢
  • 莆田建设信息网站wordpress图片收费
  • 包牛牛网站怎么做公司内部自己做抽奖网站
  • 网站的风格与布局设计个人域名网站可以做企业站吗
  • 互联网公司排名2022前100强盘锦网站优化
  • 龙岗网站建设流程asp网站模板安装
  • 做网站的 深圳wordpress插件汉化
  • 网站整体运营思路企业公司做网站
  • linux 网站目录权限设置河南网站seo优化
  • 可以做t恤的网站asp.net网站开发模板
  • 怎么做网站优化 sit找人做企业网站注意啥
  • 72搭建网站网页雄安免费网站建设电话