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

快速建网站的软件宝安网站建设 名匠

快速建网站的软件,宝安网站建设 名匠,互联网公司有国企吗,wordpress 媒体库不显示题目链接 力扣#xff08;LeetCode#xff09;官网 - 全球极客挚爱的技术成长平台 题目解析 该题目的意思简而言之就是说#xff0c;从s字符串中寻找与p字符串含有相同字符(次数和种类均相同)的子串#xff0c;并且将他们的首字符下标集合进数组中进行返回。 滑动窗口解…题目链接 力扣LeetCode官网 - 全球极客挚爱的技术成长平台 题目解析 该题目的意思简而言之就是说从s字符串中寻找与p字符串含有相同字符(次数和种类均相同)的子串并且将他们的首字符下标集合进数组中进行返回。 滑动窗口解法(未优化版本) 分析完该题目可以发现该题是一个大小不变的滑动窗口题目。窗口大小一直为p字符串的大小并且我们出窗口和进窗口的大小是相同的就相当于我们拿着一个窗口在s字符串上去滑动直到我们找到合适的子串。 如以下动图所示 代码如下(含详细注释) // 该题是一个大小固定的滑动窗口题目 class Solution { public:// 设计一个函数来检查两个哈希表是否相等bool check_hash(int hash1[],int hash2[]){for(int i0;i26;i)if(hash1[i]!hash2[i]) return false;return true;}vectorint findAnagrams(string s, string p) {int p_hash[26]{0};int s_hash[26]{0};int nss.size();int npp.size();// 将p字符串中的字符插入到p_hash中for(autoe:p) p_hash[e-a];vectorint ret;for(int left0,right0;rightns;right){// 直接将right对应位置字符进行入哈希表char ins[right];s_hash[in-a];// 如果right-left1np说明已经超过我们滑动窗口的大小了if(right-left1np){// 直接从左边进行出窗口char outs[left];s_hash[out-a]--;}// 检查是否符合条件(两个哈希表是否相等)if(check_hash(s_hash,p_hash))// 相等就把该字符串最左边字符的下标入ret数组中ret.push_back(left);}return ret;} }; 滑动窗口(优化版本) 该题只存放了小写字母因此我们检查两个哈希表其实时间复杂度是非常低的倘若存入的不止是小写字母那么我们检查的这一步操作时间复杂度就会非常高并且检查的这一步操作每一次滑动的时候我们都要进行检测因此我们可以使用一个count来记录s_hash哈希表中有效字符(存在的字符是p_hash中的字符)的数量进窗口的时候我们将count出窗口的时候我们将count--。 代码如下(含详细注释) // 优化版本 // 该题是一个大小固定的滑动窗口题目 class Solution { public:vectorint findAnagrams(string s, string p) {int p_hash[26]{0};int s_hash[26]{0};int nss.size();int npp.size();// 将p字符串中的字符插入到p_hash中for(autoe:p) p_hash[e-a];vectorint ret;for(int left0,right0,count0;rightns;right){char ins[right];// 当前字符插入s_hash之后// 如果s_hash中该字符对应的次数p_hash[in-a]// 说明若不是该字符次数在s_hash中的次数与p_hash中的次数一样// 那就是插入之后还比p_hash中的次数少// 无论哪种情况均能说明该字符存在于p_hash中 符合我们要找的字符// 因此count 也就是统计的是s_hash中的有效字符数量if(s_hash[in-a]p_hash[in-a]) count;// 如果right-left1np说明已经超过我们滑动窗口的大小了if(right-left1np){char outs[left];// 这一步同理上一步 // 当我们将该字符移除之前该字符次数在s_hash中小于p_hash// 说明该字符是有效字符// 就算该字符不是我们要的有效字符 仍然可以出窗口 只不过count不进行--操作罢了if(s_hash[out-a]--p_hash[out-a]) count--;}// 如果此时countnp说明当前情况完全满足我们的要求 加入该结果即可if(countnp)ret.push_back(left);}return ret;} };
http://www.tj-hxxt.cn/news/232757.html

相关文章:

  • 网站域名在哪里注册新手学建设网站书籍
  • 网站开发的关键计算机资源计划seo优化网
  • 一个企业网站如何能放到互联网上 vps企业网站推广成功案例
  • 曲靖 曲靖网站建设软件(app)开发做网站在哪个程序做
  • 乐山网站建设如何做网站关键词霸屏
  • 网络科技有限公司网站90后小姑娘做网站
  • 免费网站优化Sensei wordpress插件
  • 做网站都需要哪些软件济南会做网站的公司
  • 企业网站管理系统下载萝岗电子商务网站建设
  • 把网站做到wordpress里面去excel做的最好的网站
  • 网站建设前期费用管理类网站开发价格
  • 小学网站怎么做数字化管理咨询
  • 银川网站建设网站怎么做图片轮播
  • 网站服务器一年的费用logo设计的最好的公司
  • 网站遭到攻击 运维怎么做济南建设网站哪里好
  • 焦作 做 网站西安有哪些网站建设公司
  • 网站设计包括哪些步骤自己做网站有什么意义
  • 用户网站建设渠道网络是什么意思
  • 建设银行网站不能登录密码错误建设网页
  • 做企业网站为什么要服务器呢佛山营销型网站建设
  • 舆情网站直接打开海口网站运营托管咨询
  • 兰州财经大学网站开发与维护成都市房产信息网
  • 无需域名网站建设网站调用wordpress
  • 网站建设如何快速增加用户光纤做网站 移动不能访问电信
  • 图片设计师网站wordpress外观插件
  • 网站建设服务合同样本为公益组织做网站
  • 广东省做网站推广公司wordpress静态分离
  • 不想花钱做网站推广现代简约装修三室两厅两卫样
  • 万网如何建网站朔州seo网站建设
  • 自己开网站工作室林州建筑网