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

网站群管理建设网站建设费用分几年摊销

网站群管理建设,网站建设费用分几年摊销,天津建设工程招标信息网官网,中英文双版网站怎么做题目 给定两个字符串str1和str2#xff0c; str1进行排列组合#xff0c;只要有一个为str2的子串则认为str1是str2的关联子串#xff0c;请返回子串在str2的起始位置#xff0c;若不是关联子串则返回-1。 示例1 输入输出示例仅供调试#xff0c;后台判题数据一般不包含示例…题目 给定两个字符串str1和str2 str1进行排列组合只要有一个为str2的子串则认为str1是str2的关联子串请返回子串在str2的起始位置若不是关联子串则返回-1。 示例1 输入输出示例仅供调试后台判题数据一般不包含示例输入 abc efghicbaili 输出 5 示例2 输入输出示例仅供调试后台判题数据一般不包含 示例输入 abc efghiccaii 输出 -1 思路 题目隐含的条件应该是找到第一个匹配的子串。否则可能有多种解 比如对于输入cbcd adbccdebed。cbcd的排列组合可能有dbccbccd等如果先遍历的bccd那么得到的答案是2如果先遍历dbcc得到的是1。 本题可以从排列组合和滑动窗口两个角度考虑解决 排列组合 组合模板见【JAVA-排列组合】一个套路速解排列组合题。不赘述 找到str1所有的排列情况依次遍历其是否是str2的子串。 滑动窗口 维护一个长度和str1等长的滑动窗口判断窗口内的值是否和str1匹配如果匹配直接输出窗口左边界否则右移滑动窗口 判断窗口内是否和str1匹配每个字符数出现次数相等或者将两者按照同一逻辑排序排序后相等则两者匹配 题解 排列组合解法 package hwod;import java.util.*;public class RelationSubStr {public static void main(String[] args) {Scanner sc new Scanner(System.in);String[] input sc.nextLine().split( );String str1 input[0];String str2 input[1];System.out.println(relationSubStr(str1, str2));}private static ListString res new ArrayList();//存放字符串1所有可能的排列// 暴力解法private static int relationSubStr(String str1, String str2) {char[] chars str1.toCharArray();int[] used new int[str1.length()];dfs(chars, , used);int ans str2.length();for (int i 0; i res.size(); i) {int tmp str2.indexOf(res.get(i));if (tmp ! -1 tmp ans) {ans tmp;}}return ans str2.length() ? -1 : ans;}private static void dfs(char[] chars, String str, int[] used) {if (str.length() chars.length) {res.add(str);}for (int i 0; i chars.length; i) {if (used[i] 1) continue;str chars[i];used[i] 1;dfs(chars, str, used);str str.substring(0, str.length() - 1);used[i] 0;}} } 滑动窗口解法 package hwod;import java.util.*;public class RelationSubStr {public static void main(String[] args) {Scanner sc new Scanner(System.in);String[] input sc.nextLine().split( );String str1 input[0];String str2 input[1];System.out.println(relationSubStr(str1, str2));}//滑动窗口private static int relationSubStr(String str1, String str2) {MapCharacter, Integer map1 new HashMap();MapCharacter, Integer map2 new HashMap();for (int i 0; i str1.length(); i) {map1.put(str1.charAt(i), map1.getOrDefault(str1.charAt(i), 0) 1);}int size str1.length();int k 0;while (k str2.length()) {map2.put(str2.charAt(k), map2.getOrDefault(str2.charAt(k), 0) 1);int i k - size 1;if (i 0) {k;continue;}if (checked(map1, map2)) {return i;}map2.put(str2.charAt(i), map2.getOrDefault(str2.charAt(i), 0) - 1);k;}return -1;}private static boolean checked(MapCharacter, Integer map1, MapCharacter, Integer map2) {for (Character key : map1.keySet()) {if (!map2.containsKey(key)) return false;if (!map1.get(key).equals(map2.get(key))) return false;}return true;} } 推荐 如果你对本系列的其他题目感兴趣可以参考华为OD机试真题及题解JAVA查看当前专栏更新的所有题目。
http://www.zqtcl.cn/news/612899/

相关文章:

  • 婚恋网站排名前十名网站建设的论坛
  • 进行网站建设有哪些重要意义上海浦东建筑建设网站污水处理工程
  • 自己做qq代刷网站要钱吗瑞安网站建设优化推广
  • 建设网站招标定制高端网站建设报价
  • 商城网站建设code521广州安全教育平台登录入囗
  • 如何做网站系统安庆网站建设公司简
  • 北京做网站电话的公司网站怎么做外链
  • 手工艺品外贸公司网站建设方案复古风格网站
  • 企业网站后端模板如何编写手机程序
  • 泰州网站建设服务好wordpress 子分类
  • 做个企业网站要多少钱php mysql怎么编写视频网站
  • 精仿手表网站做网站为什么要做备案接入
  • 哈什么网一个网站做ppt清新区城乡建设局网站
  • 重庆专业网站建设首页排名网站模板广告去除
  • 河南省建设行业证书查询网站怎么用ps做网站首页背景图片
  • 如何取一个大气的名字的做网站青岛北方现货交易平台
  • 关于做书的网站购物网站建设资讯
  • 运营网站开发工作招聘做装修有什么好网站可以做
  • 免费自学平面设计的网站直播网站开发源码
  • 电子商务网站建设实践广州网站建设公司怎么选
  • 做公众号的素材网站分销电商平台有哪些
  • 网站后期维护协议如何免费注册网址
  • 内容展示型网站 设计特点福州百度seo
  • 外贸网站 推广影视广告宣传片制作公司
  • crm系统管理大兴安岭地网站seo
  • 免费 网站模板为什么自己做的网站别的电脑打不开
  • 公司网站建设建设辽宁鞍山网站建设
  • 企业为什么做网站优化推广做网站学什么什么专业
  • 怎样访问简版网站中小企业网站建设济南兴田德润电话
  • 哪里有零基础网站建设教学服务常用知名购物网站