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

遵义网站seo制作微信公众号网站开发

遵义网站seo,制作微信公众号网站开发,宠物网站模板,建网站 可以看到访客吗描述 分析 滑动窗口。 参考力扣官方的题解思路 本问题要求我们返回字符串 s 中包含字符串 t 的全部字符的最小窗口。我们称包含 t 的全部字母的窗口为「可行」窗口。 我们可以用滑动窗口的思想解决这个问题。在滑动窗口类型的问题中都会有两个指针#xff0c;一个用于「延伸… 描述 分析 滑动窗口。 参考力扣官方的题解思路 本问题要求我们返回字符串 s 中包含字符串 t 的全部字符的最小窗口。我们称包含 t 的全部字母的窗口为「可行」窗口。 我们可以用滑动窗口的思想解决这个问题。在滑动窗口类型的问题中都会有两个指针一个用于「延伸」现有窗口的 r 指针和一个用于「收缩」窗口的 l 指针。在任意时刻只有一个指针运动而另一个保持静止。我们在 s 上滑动窗口通过移动 r 指针不断扩张窗口。当窗口包含 t 全部所需的字符后如果能收缩我们就收缩窗口直到得到最小窗口。 如何判断当前的窗口包含所有 t 所需的字符呢我们可以用一个哈希表表示 t 中所有的字符以及它们的个数用一个哈希表动态维护窗口中所有的字符以及它们的个数如果这个动态表中包含 t 的哈希表中的所有字符并且对应的个数都不小于 t 的哈希表中各个字符的个数那么当前的窗口是「可行」的。 直接看代码。 代码 版本1超时 public static String minWindow(String s, String t) {// 记录t中的所有字符和数量HashMapCharacter, Integer map new HashMap();for (int i 0; i t.length(); i) {map.put(t.charAt(i), map.getOrDefault(t.charAt(i), 0) 1);}int minLen Integer.MAX_VALUE;int left 0, right 0;// 滑动窗口左边固定右边滑动for (int i 0; i s.length(); i) {if (s.length()-i t.length()) break;HashMapCharacter, Integer tmp new HashMap(map);for (int j i; j s.length(); j) {if (tmp.containsKey(s.charAt(j))) {tmp.put(s.charAt(j), tmp.get(s.charAt(j)) - 1);if (tmp.get(s.charAt(j)) 0) {tmp.remove(s.charAt(j));}}if (tmp.size() 0) {if (j - i 1 minLen) {minLen j - i 1;left i;right j;}break;}}}return minLen Integer.MAX_VALUE ? : s.substring(left, right 1);}版本2官方版本能看懂但自己写不出来 class Solution {MapCharacter, Integer ori new HashMapCharacter, Integer();MapCharacter, Integer cnt new HashMapCharacter, Integer();public String minWindow(String s, String t) {int tLen t.length();// 记录t出现字符集合for (int i 0; i tLen; i) {char c t.charAt(i);ori.put(c, ori.getOrDefault(c, 0) 1);}// 定义左右指针int l 0, r -1;int len Integer.MAX_VALUE, ansL -1, ansR -1;int sLen s.length();while (r sLen) {r;if (r sLen ori.containsKey(s.charAt(r))) {// 字符包含在t中的话记录到另一个集合cnt中cnt.put(s.charAt(r), cnt.getOrDefault(s.charAt(r), 0) 1);}while (check() l r) {// 说明此子序列包含了所有t中的字符if (r - l 1 len) {len r - l 1;ansL l;ansR l len;}if (ori.containsKey(s.charAt(l))) {cnt.put(s.charAt(l), cnt.getOrDefault(s.charAt(l), 0) - 1);}l;}}return ansL -1 ? : s.substring(ansL, ansR);}public boolean check() {// 检查 ori 是否包含了 所有的cnt种的字符并且数量要小于cnt中的字符Iterator iter ori.entrySet().iterator();while (iter.hasNext()) {Map.Entry entry (Map.Entry) iter.next();Character key (Character) entry.getKey();Integer val (Integer) entry.getValue();if (cnt.getOrDefault(key, 0) val) {return false;}}return true;} }面试公司
http://www.hkea.cn/news/14404524/

相关文章:

  • 建立公司微信平台 网站平台wordpress 淘口令
  • 做网站副业苏州广告公司排名前20
  • 湖南建设银行网站是多少钱企业门户首页
  • 网站建设 新手从晴天阴天雨天wordpress
  • 网站建设验收确认书建设大型网站需要什么硬件
  • 群辉做网站服务器配置网站开发语言开发
  • 网站建设图片qq群做网单哪个网站最好用
  • 怎么看网站是哪个公司做的做网站资料准备什么
  • wordpress建博客网站吗大连百度推广排名优化
  • 企业网站模板 下载企查查网页版
  • 上海外贸网站设计wordpress 图片链接
  • 在哪个网站找水利工地做网站开发的完整流程图
  • 黄骅贴吧二手房seo外链工具有用吗
  • 网站开发研究背景微信小程序制作需要什么基础
  • 郑州汉狮做网站好不惠州模板网站建设
  • 上海制作网站的公司个人简历范本
  • 南湖区建设街道办事处网站怎么查网站备案接入商
  • dede程序网站如何查看百度蜘蛛seo就业
  • 网站免费正能量软件直播帝国 网站搬家
  • 网站主题风格有哪些著名的wordpress主题
  • 无锡网站建设818gx如何做网站英文简历模板
  • 示范校建设网站网站开发的关键
  • 网站开发的前台开发工具在银行网站如何做理财风险评测
  • 创新优典网站建设天元建设集团有限公司财报
  • 密云住房和城乡建设部网站首页东莞网站制作十年乐云seo
  • 淄博做网站跟优化十堰做网站的工作室
  • 企业网站制作官网服务器部署php网站
  • 做网站可以用微软雅黑字体么扬中网站建设开发
  • 廊坊网站制作网站甘肃省建设厅网站
  • 网站的构建一般要多久南阳网站建设价格