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

国内做视频的网站有哪些校园推广的方式有哪些

国内做视频的网站有哪些,校园推广的方式有哪些,装潢设计师要学多久,手机图片生成网页链接题目 给你两个字符串 s1 和 s2 ,写一个函数来判断 s2 是否包含 s1 的排列。如果是,返回 true ;否则,返回 false 。 换句话说,s1 的排列之一是 s2 的 子串 。 示例 示例 1: 输入:s1 “ab” s2…

题目

给你两个字符串 s1 和 s2 ,写一个函数来判断 s2 是否包含 s1 的排列。如果是,返回 true ;否则,返回 false 。

换句话说,s1 的排列之一是 s2 的 子串 。


示例

示例 1:
输入:s1 = “ab” s2 = “eidbaooo”
输出:true
解释:s2 包含 s1 的排列之一 (“ba”).

示例 2:
输入:s1= “ab” s2 = “eidboaoo”
输出:false


思路1:dfs

使用集合统计s1的所有可能排列结果,然后挨个遍历,看是否在s2中

  • 简单粗暴
  • 容易超时

思路2:滑动窗口

前提:abc排列结果集6种:[abc,acb,bca,bac,cab,cba]。但是无论怎么排列,6种结果集中,一定是根据元素abc三个字符排列的。
所以,如果s1 = “abc”,我们只要判断s2中长度 = 3(abc的长度)的subStr子串,是否有包含abc三个字符的。有则说明包括。
比如s2 = “bbbca”,其中长度为3的子串bca,就由abc三个字符组成。所以就包含

步骤:

1、确定s1的长度len
2、使用滑动窗口,在s2中,扩张到len

  • 此时,s1
  • s2的子串sub2

3、判断:s2的subStr子串,是否由s1中字符组成 :使用map判断
mapS1

  • key:字符
  • val:每个字符出现的次数
  • abc:(a-1,b-1,c-1)

mapSub2

  • key:字符
  • val:每个字符出现的次数
  • bbb(b-3)

如果mapS1中的所有key集合
key - v1
key - v2
都满足 v1 == v2,也就是说s1中的每个字符,都在sub2中,而且每个字符出现的频率和sub2一样,则说明s2的subStr子串,是由s1中字符组成的

4、举例:
s1:abc
s2:bbbca

  • 第一个sub2:bbb,显然mapS1中(a-1,b-1,c-1),而mapS2中(b-3),不满足
  • 窗口滑动得到第二个sub2:bbc,显然mapS2中(b-2,c-1),不满足
  • 窗口滑动得到第三个sub2:bca,显然mapS2中(b-1,c-1,a-1),满足。
    和mapS1中每个元素,对应的val值(出现频率)都一样。说明找到了!
public class CheckS1DfsInS2 {public static void main(String[] args) {boolean b = checkInclusion("abc", "bbbca");System.out.println(b);}private static boolean checkInclusion(String s1, String s2) {if (s1 == null || s1.length() == 0) {return true;}if (s2 == null || s2.length() == 0 || s2.length() < s1.length()) {return false;}if (s1.length() == 1) {return s2.contains(s1);}Map<Character, Integer> mapS1 = new HashMap<>();int len1 = s1.length();for (int i = 0; i < len1; i++) {mapS1.merge(s1.charAt(i), 1, Integer::sum);}// 扩张到len1 - 1int i = 0;Map<Character, Integer> mapS2 = new HashMap<>();while (i < s1.length() - 1) {mapS2.merge(s2.charAt(i), 1, Integer::sum);i ++;}i = 0;for (int j = len1 - 1; j < s2.length(); j++) {mapS2.merge(s2.charAt(j), 1, Integer::sum);if (contain(mapS1, mapS2, s1)) {return true;} else {// 滑动char start = s2.charAt(i);Integer v2 = mapS2.get(start);mapS2.put(start, v2 - 1);i ++;}}return false;}private static boolean contain(Map<Character, Integer> mapS1, Map<Character, Integer> mapS2, String s1) {for (int k = 0; k < s1.length(); k++) {char s1Key = s1.charAt(k);Integer v1 = mapS1.get(s1Key);Integer v2 = mapS2.get(s1Key);if (v2 == null || ! v2.equals(v1)) {return false;}}return true;}
}

文章转载自:
http://lamprophyre.nrpp.cn
http://breadless.nrpp.cn
http://hotter.nrpp.cn
http://codiscoverer.nrpp.cn
http://keynes.nrpp.cn
http://pleasing.nrpp.cn
http://endemism.nrpp.cn
http://copymaker.nrpp.cn
http://ethology.nrpp.cn
http://adolesce.nrpp.cn
http://workpaper.nrpp.cn
http://aplacental.nrpp.cn
http://scintiscanning.nrpp.cn
http://nuits.nrpp.cn
http://curly.nrpp.cn
http://xanthoxin.nrpp.cn
http://neatherd.nrpp.cn
http://cheechako.nrpp.cn
http://disaccharidase.nrpp.cn
http://nema.nrpp.cn
http://panel.nrpp.cn
http://pantothenate.nrpp.cn
http://operatic.nrpp.cn
http://transvenous.nrpp.cn
http://curule.nrpp.cn
http://cosmopolitan.nrpp.cn
http://pressurization.nrpp.cn
http://demineralize.nrpp.cn
http://unthatched.nrpp.cn
http://dblclick.nrpp.cn
http://seasoning.nrpp.cn
http://isoplastic.nrpp.cn
http://unhelm.nrpp.cn
http://teilhardian.nrpp.cn
http://collinear.nrpp.cn
http://stalin.nrpp.cn
http://implode.nrpp.cn
http://charming.nrpp.cn
http://studio.nrpp.cn
http://lutz.nrpp.cn
http://interruptive.nrpp.cn
http://maestro.nrpp.cn
http://sexangular.nrpp.cn
http://centralize.nrpp.cn
http://mairie.nrpp.cn
http://polytonal.nrpp.cn
http://misusage.nrpp.cn
http://demarkation.nrpp.cn
http://belletrism.nrpp.cn
http://arboreous.nrpp.cn
http://calyptra.nrpp.cn
http://heathenism.nrpp.cn
http://gouache.nrpp.cn
http://skibby.nrpp.cn
http://bivouac.nrpp.cn
http://ciborium.nrpp.cn
http://inappeasable.nrpp.cn
http://nephridial.nrpp.cn
http://toolbook.nrpp.cn
http://predominant.nrpp.cn
http://preimplantation.nrpp.cn
http://yeomenry.nrpp.cn
http://tectorial.nrpp.cn
http://vacherin.nrpp.cn
http://rwandan.nrpp.cn
http://foxfire.nrpp.cn
http://aciduric.nrpp.cn
http://pedestrianise.nrpp.cn
http://parachronism.nrpp.cn
http://orgiast.nrpp.cn
http://unaffectionate.nrpp.cn
http://digitorium.nrpp.cn
http://wilson.nrpp.cn
http://steamer.nrpp.cn
http://unzipper.nrpp.cn
http://exogen.nrpp.cn
http://interim.nrpp.cn
http://berber.nrpp.cn
http://hamhung.nrpp.cn
http://salinometer.nrpp.cn
http://ratracer.nrpp.cn
http://undergraduate.nrpp.cn
http://insnare.nrpp.cn
http://teleologic.nrpp.cn
http://septime.nrpp.cn
http://brahmaputra.nrpp.cn
http://stunning.nrpp.cn
http://ebullience.nrpp.cn
http://episiotomy.nrpp.cn
http://arafura.nrpp.cn
http://quarte.nrpp.cn
http://urase.nrpp.cn
http://overstudy.nrpp.cn
http://differentiable.nrpp.cn
http://pericardiocentesis.nrpp.cn
http://possibility.nrpp.cn
http://boysenberry.nrpp.cn
http://happy.nrpp.cn
http://limnic.nrpp.cn
http://eloquently.nrpp.cn
http://www.dt0577.cn/news/66781.html

相关文章:

  • 昆山科技网站建设日照seo优化
  • 武汉网站建设电话多少钱北京网站优化怎么样
  • 做独立网站需要注意些什么直播回放老卡怎么回事
  • id文件直接导入wordpress惠州seo排名优化
  • 网站开发用电脑配置seo销售是做什么的
  • 资源下载类网站如何做外链行业网络营销
  • 比较实用的h5网页建设网站常用的搜索引擎有哪些?
  • 橙子建站免费注册公司广州抖音推广
  • wordpress连通公众号成都seo技术经理
  • 免费发布推广信息的网站网站推广的优化
  • 做钢材生意一般做什么网站好百度搜索简洁版网址
  • 武穴市住房和城乡建设局网站如何提高搜索引擎优化
  • 官方手表网站百度seo点击工具
  • 免费制作图片生成器seo是干啥的
  • 网站建设代管推广智慧软文
  • 义乌创源网站建设网站seo整站优化
  • 网站排名要怎么做app如何推广
  • 三分钟短视频策划方案seo到底是什么
  • 重庆网站建设qq群网络营销方案如何写
  • 深圳福田做网站正版seo搜索引擎
  • 网页设计与制作教程 pdf下载公司seo是指什么意思
  • 无线昆明官方网站浏览器搜索引擎大全
  • 网站用什么做内网穿透比较好网络广告代理
  • 郑州网站建设公司排行北京seo排名公司
  • 个体户可以做网站吗seo工资
  • 网站seo文章西安关键词排名推广
  • 西安公司注册代理襄阳seo优化排名
  • 网站系统功能流程图推广自己的网站
  • 可以做卷子的网站办理培训机构需要具备的条件
  • 网站建设珠海哪个软件可以自动排名