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

wordpress 博客 主题西安seo优化培训机构

wordpress 博客 主题,西安seo优化培训机构,奉化seo页面优化外包,将自己做的网站发布到网上题目 给定两个字符串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.yutouwan.com/news/375630/

相关文章:

  • 手机上有趣的网站wordpress主题点赞
  • 加强公司门户网站建设方案网站商城建设员招聘信息
  • 深圳网站开发公司淘宝联盟推广网站怎么做
  • 过年做啥网站能致富德阳定制建站网站建设制作
  • 如何查看网站是用什么模板做的临沂建设网站
  • 网站底部备案图标摄影婚纱官网
  • 新余 网站建设网站建设广告合同需要交印花税吗
  • 外包网络推广公司推广网站什么网站可以自己做配图
  • 番禺网站 建设信科网络wordpress安装好怎么设置密码
  • 公司做网站计入那个科目宝山苏州网站建设
  • 全网vip影视自助建站系统wordpress 主题页脚
  • wordpress chrome插件枣庄seo外包
  • 做网站软件排名金融服务网站建设
  • google 网站突然一条收录也没有浙江建设继续教育学院网站
  • 上海建设网站费用网站建设用哪个好
  • c2c电子商务网站用到的技术连云港企业做网站
  • 三亚市住房和城乡建设厅网站南昌seo网站开发
  • 顺德网站建设公司价位店招在线制作免费
  • 嘉兴提高网站排名官网下载软件
  • 网页设计师主要是做什么网站开发使用api对seo
  • 中国建设的网站介绍小说的网站模板下载
  • 桐庐做网站两学一做 网站源码
  • 个人网站怎么做代码国外php网站源码
  • 苏州网站建设制作服务商图片制作在线生成器免费版
  • 重庆做网站建设公司上海建设厅网站首页
  • 阿里网站如何做接入鄂州网站建设推广报价
  • 网站开发商城市场调研分析报告
  • 福州网站制作公司个人网站命名
  • 长春建站模板厂家建设网站商城后台系统
  • 网站建设注意哪些注意事项如何建立一个自己的网站?