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

图书网站建设实训心得wordpress新手基础

图书网站建设实训心得,wordpress新手基础,东阳网站推广,搜索引擎优化的含义文章目录 1. 串联所有单词的子串题干#xff1a;算法原理代码#xff1a; 2. 最小覆盖子串题干#xff1a;算法原理#xff1a;1、暴力枚举 哈希表2、滑动窗口 哈希表 代码#xff1a; 1. 串联所有单词的子串 原题链接 题干#xff1a; 给定⼀个字符串 s 和⼀个字符串… 文章目录 1. 串联所有单词的子串题干算法原理代码 2. 最小覆盖子串题干算法原理1、暴力枚举 哈希表2、滑动窗口 哈希表 代码 1. 串联所有单词的子串 原题链接 题干 给定⼀个字符串 s 和⼀个字符串数组 words words 中所有字符串 长度相同 s 中的 串联⼦串 是指⼀个包含 words中所有字符串以任意顺序排列连接起来的⼦串 算法原理 这道题和 Day14 中 所写的找到字符串所有字母异位词 很像 找到字符串所有字母异位词 因为 words 中所有字符串 长度相同 所以我们就可以把每一个字符串划分为长度相等的小字符串 并且用别的字母代替 s 中我们也可以根据相同的长度进行划分 这样我们对题目就进行了转化 不过在解题方面有些许的不同 哈希表 需要使用键值对的方式进行存储 MapString, Integerleft 和 right 指针的移动 移动的步长是每个单词的长度len划分窗口的执行次数 由于 s 可以进行不同的划分 我们就可以划分成 len 次 代码 class Solution {public ListInteger findSubstring(String s, String[] words) {ListInteger ret new ArrayListInteger();MapString, Integer hash1 new HashMapString, Integer();//保存字典中所有单词的频次for(String str : words) {hash1.put(str, hash1.getOrDefault(str, 0) 1);}int len words[0].length();int m words.length;for(int i 0; i len; i) {MapString, Integer hash2 new HashMapString, Integer();//保存窗口内所有单词的频次for(int left i, right i, count 0; right len s.length(); right len) {//进窗口 维护 countString in s.substring(right, rightlen);hash2.put(in, hash2.getOrDefault(in, 0) 1);if(hash2.get(in) hash1.getOrDefault(in, 0)) {count;}//判断if(right - left 1 len * m) {//出窗口 维护 countString out s.substring(left, left len);if(hash2.get(out) hash1.getOrDefault(out, 0)) {count--;}hash2.put(out, hash2.get(out) - 1);left len;}//更新结果if(count m) {ret.add(left);}}}return ret;} }2. 最小覆盖子串 原题链接 题干 有字符串 s 和 t 返回 s 中涵盖 t 中所有字符串的最小子串 寻找的子字符串不少于该字符数量 算法原理 1、暴力枚举 哈希表 2、滑动窗口 哈希表 在暴力解法中leftright 需要返回原来重新遍历 那么right 是否需要回去呢 left 后有以下两种情况 依然符合要求这个时候 right 不用动不符合要求这个时候 right 向后移动 这个时候我们就可以使用滑动窗口来解决问题 left 0 righ 0进窗口 hash1[ in ]判断 check[ hah1,hash2 ] 更新结果 更新起始位置 和 最短长度 出窗口 hash2[ out ]– 优化 我们可以优化判断条件 使用 count 标记有效字符的种类 如果hash2 中 A 的个数 hash1 中 A 的个数才算有效 进窗口 进之后判断 hash2[ in ] hash1[ in ]count出窗口 出之前判断 hash2[ out ] hash1[ out ]count–判断条件 count hash1.size() 代码 class Solution {public String minWindow(String ss, String tt) {char[] s ss.toCharArray();char[] t tt.toCharArray();int[] hash1 new int[128];//数组模拟哈希表 统计 t 中字符出现的频次int kinds 0;//字符 t 中有多少种字符for(char ch : t) {if(hash1[ch] 0) {kinds;}hash1[ch];}int[] hash2 new int[128];//统计窗口中字符的频次int minlen Integer.MAX_VALUE;int begin -1;for(int left 0,right 0, count 0; right s.length; right) {char in s[right];hash2[in];//进窗口 维护chountif(hash2[in] hash1[in]) {count;}while(kinds count) {//判断if(right - left 1 minlen) {//更新结果begin left;minlen right - left 1;}char out s[left];if(hash2[out] hash1[out]) {//出窗口 维护countcount--;}hash2[out]--;}}if(begin -1) {return new String();}else {return ss.substring(begin, begin minlen);}} }
http://www.zqtcl.cn/news/611854/

相关文章:

  • 网站后期维护协议如何免费注册网址
  • 内容展示型网站 设计特点福州百度seo
  • 外贸网站 推广影视广告宣传片制作公司
  • crm系统管理大兴安岭地网站seo
  • 免费 网站模板为什么自己做的网站别的电脑打不开
  • 公司网站建设建设辽宁鞍山网站建设
  • 企业为什么做网站优化推广做网站学什么什么专业
  • 怎样访问简版网站中小企业网站建设济南兴田德润电话
  • 哪里有零基础网站建设教学服务常用知名购物网站
  • 西宁高端企业网站建设公司名称大全免费取名
  • 如何解决网站图片打开慢关键词搜索推广排行榜
  • 网站建设销售话建网站需要怎样做
  • 网站排名和什么有关网络推广协议合同范本
  • 湖州房产网站建设南通市城乡和住房建设局网站
  • 郴州建设工程集团招聘信息网站wordpress 橘子皮模板
  • win7搭建网站服务器成都网站建设需多少钱
  • 网站开发一般需要多久菜谱网站模版
  • 基于jsp的电子商务网站开发最好的网站建设公司哪家好
  • 个人网站图片郑州技术支持seo
  • 先做网站还是先做app广州互联网
  • 租用网站的服务器wordpress手机加搜索
  • 做彩票网站怎么样才能让百度收录自己的网站
  • 廊坊网站建设技术托管seo怎么优化关键词排名培训
  • 抛丸机网站怎么做手机网站打不开的解决方法
  • 上海做网站的公司多少钱冷水江网站
  • 百度网站流量查询宣传片制作公司费用
  • 安徽炒股配资网站开发搭建平台载体
  • 中华建设杂志网站记者黑龙江省建设集团有限公司网站首页
  • 成都络迈品牌网站建设网站建设的行业资讯、
  • 英语网站大全免费赤峰市建设厅官方网站