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

济宁网站建设兼职设计教程

济宁网站建设兼职,设计教程,曲靖做网站的公司,如何让网站做网页适配“找到字符串中所有字母异位词”的难度为Medium,看一下题目: 给定一个字符串 S 和一个非空字符串 T,找到 S 中所有是 T 的字母异位词的子串,返回这些子串的起始索引。 所谓的字母异位词,其实就是全排列,原题…

         “找到字符串中所有字母异位词”的难度为Medium,看一下题目:

        给定一个字符串 S 和一个非空字符串 T,找到 S 中所有是 T 的字母异位词的子串,返回这些子串的起始索引。

        所谓的字母异位词,其实就是全排列,原题目相当于让你找 S 中所有 T 的排列,并返回它们

的起始索引。

        比如输入 S = "cbaebabacd",T = "abc",算法返回 [0,6],因为 S 中有两个子串 "cba" 和 "bac" 是 T 的排列,它们的起始索引是0和6。

        直接套模板(看专栏)写代码:

package SlidingWindow;import java.util.*;// leetcode 015 找到字符串中所有字母异位词
public class FHW {public List<Integer> findAnagrams(String s, String p) {Map<Character, Integer> need = new HashMap<>(); // 记录p中字符出现次数Map<Character, Integer> window = new HashMap<>(); // 记录窗口中的相应字符的出现次数for (int i = 0; i < p.length(); i++) {char key = p.charAt(i);need.put(key, need.getOrDefault(key, 0) + 1);}int left = 0, right = 0, valid = 0; // valid 表示窗口中满足 need 条件的字符个数List<Integer> res = new ArrayList<>();while (right < s.length()) {// c 是将要移入窗口的字符char c = s.charAt(right);// 右移窗口right++;// 进行窗口内数据的一系列更新if (need.containsKey(c)) {window.put(c, window.getOrDefault(c, 0) + 1);if (window.getOrDefault(c, 0).equals(need.getOrDefault(c, 0))) { // window[c] == need[c]valid++;}}/*** debug 输出的位置***/System.out.println("window:(" + left + ", " + right + ")");/*********************/// 判断左侧窗口是否要收缩while (right - left >= p.length()) { // window need shrink —窗口需要收缩// 当窗口符合条件时,把起始索引加入 resif (valid == need.size()) {res.add(left);}// d 是将要移出窗口的字符char d = s.charAt(left);// 左移窗口left++;// 进行窗口内数据的一系列更新if (need.containsKey(d)) {if (window.getOrDefault(d, 0).equals(need.getOrDefault(d, 0))) {valid--;}window.put(d, window.getOrDefault(d, 0) - 1);}}return res;}public static void main(String[] args) {FHW fhw = new FHW();List<Integer> list = fhw.findAnagrams("abab","ab");System.out.println(list);}}

        和寻找字符串的排列一样,只是找到一个合法异位词(排列)之后将起始索引加入 res 即可。

http://www.yayakq.cn/news/540714/

相关文章:

  • 宝安公司免费网站建设美食网站建设的可行性
  • 网站图片速度关键词优化策略有哪些
  • 网站手机版怎么弄做网站的图片素材网站有哪些
  • h5电子商城网站开发电子商务网站建设的流程
  • 商机网网站源码手机网站功能分析
  • 外贸网站案例湖北 网站建设
  • 枣庄网站建设哪家强为什么做网站特效用用插件
  • 如何发布一个网站昆明网站
  • 高级营销型网站建设一套vi设计多少钱
  • 做免费的小说网站可以赚钱吗广州网站建设优化公司哪家好
  • 网站建设与管理期末总结网站没后台怎么修改类容
  • 网页制作成品网站网站建设方案书的内容
  • p2p倒闭 网站开发杰瑞网站建设
  • 网站建设专业培训如何做企业网站内容策划
  • 织梦网站主页地址更改徐州网站排名公司
  • 国外有趣的网站深圳建站网站公司
  • 山东省住房城乡和建设厅网站首页慕课网网站开发背景
  • 电子产品去什么网站做站点wordpress 函数 应用
  • 上海市企业网站建设网站建设注册
  • 杭州的设计网站员工支付做网站的费用分录
  • 网站建设招聘简介网站建设项目管理
  • 厦门网站建设哪家好厦门最好的网站建设网站建设需求分析要做的事
  • 化妆品购物网站建设目的网站转化怎么做
  • 长沙网站设计哪家专业wordpress 音乐盒
  • 专做定制型网站免费宝塔虚拟主机
  • 互联网技术网站做类似美团的网站得多少钱
  • 电商网站建设目标分析的方法企业网站建设主要考虑哪些
  • 东莞建筑建设网站建设宿迁房产网宿迁市区房屋出售
  • gif图片动态素材网站让wordpress文章页面显示分类标签
  • 做网站开发的电话销售话术企业网站源码 thinkphp