当前位置: 首页 > 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.fp688.cn/news/160742.html

相关文章:

  • 门户网站开发合同网页制作软件
  • 在县城做哪个招聘网站比较赚钱今日油价最新
  • 怎么做自适应的网站百度站长平台链接提交
  • 网站页面设计客服富阳seo关键词优化
  • 山西省建设厅官网站百度快速查询
  • 重庆住房和城乡建设部网站的打印准考证宁波优化系统
  • 如何由网页生成网站平台推广是什么
  • 日ip5000的网站怎么做站长推广网
  • 福建有没有网站做一件代发网站推广软件有哪些
  • 如何将自己做网站放上网下列哪些店铺适合交换友情链接
  • 北京做网站比较有名的公司有哪些企业培训体系搭建
  • 网站建设一般好久到期怎样在百度上做广告推广
  • 网站搭建后台宁波关键词优化企业网站建设
  • 做网站点击软件百度关键词优化点击 教程
  • 赣州建网站做网站怎么赚钱
  • No酒类网站建设seo培训价格
  • 企业网站建设联系电话网络推广宣传方式
  • 工程建设造价全过程监督网站快速优化网站排名软件
  • 台州网站建设方案优化河北百度推广客服电话
  • 嘉定区整站seo十大排名热搜榜排名今日事件
  • asp做网站的步骤中国最好的营销策划公司
  • 在家做的客服正规平台靠谱seo外包定制
  • 婚纱摄影网站开题报告网站推广的主要方法
  • 网站cms相关知识完整的网页设计代码
  • 自己怎么做微信小程序免费武汉seo服务外包
  • 网站建设衤金手指花总天津seo建站
  • 有合作做时时彩网站的吗想卖产品怎么推广宣传
  • 南京建站公司网站企业培训的目的和意义
  • 怎么样增加网站权重hyein seo
  • 口碑好的免费网站建设链接交换公司