Leetcode--438. 找到字符串中所有字母异位词

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

字符串只包含小写英文字母,并且字符串 s 和 p 的长度都不超过 20100。

说明:

字母异位词指字母相同,但排列不同的字符串。
不考虑答案输出的顺序。
示例 1:

输入:
s: "cbaebabacd" p: "abc"

输出:
[0, 6]

解释:
起始索引等于 0 的子串是 "cba", 它是 "abc" 的字母异位词。
起始索引等于 6 的子串是 "bac", 它是 "abc" 的字母异位词。
 示例 2:

输入:
s: "abab" p: "ab"

输出:
[0, 1, 2]

解释:
起始索引等于 0 的子串是 "ab", 它是 "ab" 的字母异位词。
起始索引等于 1 的子串是 "ba", 它是 "ab" 的字母异位词。
起始索引等于 2 的子串是 "ab", 它是 "ab" 的字母异位词。

思路:将字符串p进行排序

之后依次截取s字符串中等长的部分排序进行比较

提交的代码:

class Solution {

    public List<Integer> findAnagrams(String s, String p) {

        List<Integer> result = new ArrayList<Integer>();

        int i;

        String temp;

        char arr[] = p.toCharArray();

        Arrays.sort(arr);//对要比较的p字符串进行排序

        String arr1 = String.valueOf(arr);

        for(i=0;i<=s.length()-p.length();i++)

        {

            temp=s.substring(i,p.length()+i);

            char x[] = temp.toCharArray();

            Arrays.sort(x);//对当前s中截取的字符串进行排序

            String x1 = String.valueOf(x);

            if(arr1.equals(x1))

            {

                result.add(i);

            }

        }

        

        return result;

    }

}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/485456.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

python经典一百道习题(转自奶酪博客)

无论学习哪门计算机语言&#xff0c;只要把100例中绝大部分题目都做一遍&#xff0c;就基本掌握该语言的语法了。 【程序1】 题目&#xff1a;有1、2、3、4个数字&#xff0c;能组成多少个互不相同且无重复数字的三位数&#xff1f;都是多少&#xff1f; #Filename:001.py cnt …

中国科学家团队《Cell》揭示人类大脑进化的基因组调控机制

来源&#xff1a;中国生物技术网人类大脑起源于漫长的生命进化过程&#xff0c;其最显著的改变是大脑的认知功能&#xff0c;反映在脑容量的显著扩大和脑结构的高度精细化。在人类进化过程中&#xff0c;“哪些遗传改变造就了人类大脑”是学界长期力图解决的科学问题。所有器官…

终端服务器安全层在协议流中检测到错误,终端服务器安全层在协议流中检测到错误,并已取消客户端连接...

事件类型: 错误事件来源: TermDD描述:RDP 的 "DATA ENCRYPTION" 协议组件在协议流中检测到一个错误并且中断了客户机。经过网上查找资料及分析&#xff0c;原来是注册表中的“Certificate”子键被损坏&#xff0c;才导致用户无法与终端服务进行正常通信。分析&#x…

Leetcode--347. 前k个高频元素

给定一个非空的整数数组&#xff0c;返回其中出现频率前 k 高的元素。 示例 1: 输入: nums [1,1,1,2,2,3], k 2 输出: [1,2] 示例 2: 输入: nums [1], k 1 输出: [1] 说明&#xff1a; 你可以假设给定的 k 总是合理的&#xff0c;且 1 ≤ k ≤ 数组中不相同的元素的个数…

Java泛型用于方法,类和接口

什么是泛型&#xff1f; 型就是数据类型参数化。就是说原本定死的数据类型像方法中的形参一样&#xff0c;数据是不确定的&#xff0c;使用的时候由人传进去&#xff0c;泛型就是这样&#xff0c;数据类型不确定了。使用的时候再确定就可以了。 泛型的特点 是JDK1.5的新特性泛型…

人机融合的科幻与现实

来源&#xff1a;《环球》杂志 发布时间&#xff1a;2017-04-24随着光机电一体化、生物工程、生化机器人的发展和系统科学的综合进步&#xff0c;计算机自主的逻辑思维将有足够的行为表现&#xff0c;进而真正脱离人类的完全控制&#xff0c;拥有自主的智能思维。几乎可以预见&…

js读取服务器上的txt文件,javascript – 每15秒读取一次文本文件的内容

您可以在函数中重复执行要执行的代码,并在setTimeout中传递该函数.setTimeout的第二个参数将以毫秒为单位.在这里使用setTimeout IMO在这里更合适,因为它将排除发送请求和接收响应所花费的时间.它将在收到响应后每5秒发送一次请求.$(document).ready(function() {function func…

Leetcode--128. 最长连续序列

给定一个未排序的整数数组&#xff0c;找出最长连续序列的长度。 要求算法的时间复杂度为 O(n)。 示例: 输入: [100, 4, 200, 1, 3, 2] 输出: 4 解释: 最长连续序列是 [1, 2, 3, 4]。它的长度为 4。 思路:存入map中&#xff0c;每次以当前元素为序列的第一个数字&#xff0…

Opencv级联分类器实现人脸识别

在本章中&#xff0c;我们将学习如何使用OpenCV使用系统相机捕获帧。org.opencv.videoio包的VideoCapture类包含使用相机捕获视频的类和方法。让我们一步一步学习如何捕捉帧 - 第1步&#xff1a;加载OpenCV本机库 在使用OpenCV库编写Java代码时&#xff0c;您需要做的第一步是使…

服务器的防火墙禁止了对指定通讯端口的访问,使用iptables限制访问网站指定端口...

Linux用得比较少&#xff0c;所以对iptables也不是很熟悉&#xff0c;最近部署网站&#xff0c;因为对外的80端口是通过nginx转发&#xff0c;而内部程序都是类似8080、3000之类的端口&#xff0c;不做处理的情况下&#xff0c;很可能会看到如:地址www.poorren.com、地址www.po…

RISC-V正在成为芯片世界中的Linux

来源&#xff1a;科技大本营芯片是信息技术的引擎&#xff0c;推动着人类社会的数字化、信息化与智能化。随着摩尔定律濒临终结&#xff0c;维持芯片技术创新面临挑战。开源芯片设计将是应对挑战的新思路。如今芯片设计动辄需要上亿研发费用、投入上百人&#xff0c;只有少数企…

细胞核起源于病毒?

撰文&#xff1a;Christie Wilcox来源&#xff1a;环球科学&#xff08;ID: huanqiukexue&#xff09;翻译&#xff1a;郑宸编辑&#xff1a;杨心舟细胞中&#xff0c;一个“病毒工厂”&#xff08;图中左侧大而圆的结构&#xff09;被其生产出来的新病毒颗粒&#xff08;若干小…

css3 固定,CSS3 calc()不适用于固定位置/绝对位置

编辑2&#xff1a;这是版本的Webkit浏览器(如询问意见)&#xff0c;与最新的Chrome测试版本&#xff0c;并且完全为我工作&#xff1a;http://jsfiddle.net/HvVst/1/使用-webkit-calc()而不是calc()。编辑&#xff1a;然后&#xff0c;你必须减去1px的边框到0.5em填充&#xff…

Leetcode--304. 二维区域和检索

给定一个二维矩阵&#xff0c;计算其子矩形范围内元素的总和&#xff0c;该子矩阵的左上角为 (row1, col1) &#xff0c;右下角为 (row2, col2)。 上图子矩阵左上角 (row1, col1) (2, 1) &#xff0c;右下角(row2, col2) (4, 3)&#xff0c;该子矩形内元素的总和为 8。 示例…

BZOJ4001 TJOI2015概率论(生成函数+卡特兰数)

设f(n)为n个节点的二叉树个数&#xff0c;g(n)为n个节点的二叉树的叶子数量之和。则答案为g(n)/f(n)。 显然f(n)为卡特兰数。有递推式f(n)Σf(i)f(n-i-1) (i0~n-1)。 类似地&#xff0c;左子树节点数为i时右子树有f(n-i-1)种情况&#xff0c;那么可以对左子树的叶子节点数之和计…

前沿|8种面部表情实时追踪,你的喜怒哀乐全被AI看穿了

来源&#xff1a;雷锋网与人类一样&#xff0c;AI也学会了“察言观色”有研究表明&#xff0c;人类在相似的社会环境下表达情感的面部表情几乎是相同的。如果一个人皱眉、嘟嘴、脸色涨红&#xff0c;你一定知道TA是在生气&#xff0c;现在AI同样能够“看穿”这一点。情感分析一…

css3 transform文字,CSS3 transform 字体模糊问题

使用 Vue Material 的 Dialog 做了一个弹出框&#xff0c;弹出框内动态绑定了几个数据&#xff0c;页面效果一出来What the fuck? 马赛克&#xff1f;Vue Material 的组件肯定没问题&#xff0c;应该自己代码哪问题&#xff0c;先把官网提供的例子在项目中运行了一下&#xff…

二分 poj 3273

题目链接&#xff1a;https://vjudge.net/problem/POJ-3273 把n个连续的数字划分成m个连续的部分&#xff0c;每个部分都有一个部分和&#xff08;这个部分所有值加起来&#xff09;&#xff0c;现在要使划分里最大的那个部分和最小。 我用的也是二分&#xff0c;用二分枚举最大…

MyBatis的配置

dao层的操作太麻烦 jdbc 连接数据库&#xff0c;释放空间什么的太烦了&#xff0c;为了简化&#xff0c;引入了MyBatis Mabatis可以简化JDBC操作&#xff0c;实现数据的持久化 Mabatis是一个ORM产品 ORM:Object Relational Mapping eg&#xff1a; person对象 p…

费曼:微积分是上帝的语言 | 书摘

莱布尼茨和牛顿&#xff0c;图片来自thegreatcoursesdaily.com来源&#xff1a; 赛先生制版编辑&#xff1a;Morgan撰文&#xff1a;史蒂夫斯托加茨&#xff08;美国康奈尔大学应用数学系教授&#xff09;没有微积分&#xff0c;我们就不会拥有手机、计算机和微波炉&#xff0c…