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

怎么看一个网站是谁做的中山网站建设的公司

怎么看一个网站是谁做的,中山网站建设的公司,关于网站建设要花多少钱,网站分为题目 输入字符串s1和s2,如何判断字符串s2中是否包含字符串s1的某个变位词?如果字符串s2中包含字符串s1的某个变位词,则字符串s1至少有一个变位词是字符串s2的子字符串。假设两个字符串中只包含英文小写字母。例如,字符串s1为&quo…

题目

输入字符串s1和s2,如何判断字符串s2中是否包含字符串s1的某个变位词?如果字符串s2中包含字符串s1的某个变位词,则字符串s1至少有一个变位词是字符串s2的子字符串。假设两个字符串中只包含英文小写字母。例如,字符串s1为"ac",字符串s2为"dgcaf",由于字符串s2中包含字符串s1的变位词"ca",因此输出为true。如果字符串s1为"ab",字符串s2为"dgcaf",则输出为false。

分析

由变位词的定义可知,变位词具有以下几个特点。首先,一组变位词的长度一定相同;其次,组成变位词的字母集合一定相同,并且每个字母出现的次数也相同。

由于这个题目强调字符串中只包含英文小写字母,而英文小写字母的个数是确定的,一共26个,因此可以用数组模拟一个简单的哈希表。数组的下标0对应字母’a’,它的值对应字母’a’出现的次数。数组的下标1对应字母’b’,它的值对应字母’b’出现的次数。以此类推,数组的下标25对应字母’z’,它的值对应字母’z’出现的次数。

首先扫描字符串s1。每扫描到一个字符,就找到它在哈希表中的位置,并把它对应的值加1。如果字符串s1为"ac",那么在该哈希表中,只有字母’a’和字母’c’对应的值是1,其他值都是0,这是因为只有这两个字母在字符串中各出现了1次。
遍历s2所有和s1相同长度的连续子字符串,逐个扫描这个变位词中的字母,并把字母在哈希表中对应的值减1。由于字符串s1的变位词和字符串s1包含相同的字母,并且每个字母出现的次数也相同,因此扫描完字符串s1的变位词之后,哈希表中所有的值都是0。

public class Test {public static void main(String[] args) {boolean result = checkInclusion("ac", "dgcaf");System.out.println(result);}public static boolean checkInclusion(String s1, String s2) {if (s2.length() < s1.length()) {return false;}int[] counts = new int[26];// 注意:同位词必须长度相等,不能其中一个词多字母,那不能算同位词for (int i = 0; i < s1.length(); i++) {// 曾经减减过,现在已经不包含那个字符了,所以需要加加counts[s1.charAt(i) - 'a']++;counts[s2.charAt(i) - 'a']--;}if (areAllZero(counts)) {return true;}// 注意:同位词必须长度相等,不能其中一个词多字母,那不能算同位词// i相当于第2个指针,指向子字符串的最后一个字符。第1个指针指向下标为i-s1.length()的位置。两个指针之间的子字符串的长度一直是字符串s1的长度。for (int i = s1.length(); i < s2.length(); i++) {counts[s2.charAt(i) - 'a']--;counts[s2.charAt(i - s1.length()) - 'a']++;if (areAllZero(counts)) {return true;}}return false;}private static boolean areAllZero(int[] counts) {for (int count : counts) {if (count != 0) {return false;}}return true;}
}
http://www.yayakq.cn/news/170435/

相关文章:

  • 公司网站有哪些合肥网站建设政务区
  • 嘉兴建设公司网站全国最有实力的信息网络公司排名
  • 建设国外网站做一个公司网站一般需要多少钱
  • 强大的网站小红书推广模式
  • 东营网签查询系统官方网站温州集团网站建设
  • 怎么做页游网站运营做好网站建设的重要性
  • 做外贸客户要求看网站关东建设有限公司网站
  • 网站建设职业主要做什么杭州市建设工程交易中心网站
  • 团购网站策划网页制作免费模板
  • 东莞大岭山网站建设西安360免费做网站
  • 网站视频如何下载学计算机网站建设
  • 金华手机模板建站网站搭建需要服务器吗
  • 河口建设局网站wordpress外卖
  • 成都网站建设全平台移动端网站建站视频教程
  • 做pc端网站要成本么怎样做企业文化网站
  • 天津市工程建设交易网站查汗国网站设计开发工程师
  • 网站美工设计流程海曙区网站开发培训
  • 二手交易平台 网站开发输入网站查看空间
  • 牛视频网站建设wordpress客户中心
  • 网站设计的性能需求网站怎么吸引流量
  • 网站运营是做啥的网络舆情监控系统
  • 网站备案初审哪一家做网站好
  • 濮阳网站网站建设济南网站建设及推广
  • 狗铺子做网页在那个网站学校网站建设小组及分工
  • 百度代理公司怎么样成都网站排名生客seo怎么样
  • 网站后台管理维护 不懂编程90后做网站月入万元
  • 网站建设基本流程前期专门做cg视频网站
  • 建立一个网站平台需要多少钱我买了一个域名怎么做网站
  • 网站建设合同免费下载国内建筑设计公司前十名
  • 外贸网站英文版高明网站设计哪家服务好