LeetCode 第567题 Permutation in String【滑动窗口】(Java)

栏目: Java · 发布时间: 5年前

内容简介:原题地址:仔细阅读题目,你会发现,这不就是第438题么?排列组合(permutation)和变位词(anagrams)在这里不是一回事么?所以,我的解决方法很简单。直接把438题的函数findAnagrams实现粘到第567题的类里面,然后再第567题的函数里面调用438题的函数即可。如果你想多练习一下这个思路,重新写一遍也是可以的。本题代码地址为:

原题地址: https://leetcode.com/problems/permutation-in-string/

要求

给定两个字符串s1和s2,写一个函数,如果s2包含了s1的排列组合(permutation,就是字符长度跟s1一样,字符频率一样,但是字符出现的位置一样),则返回true。换句话说,第一个字符串的排列组合,是第二个字符串的子串。

例 1:

输入为: s1 = “ab” s2 = “eidbaooo”

输出为: True

例 2:

输入为:s1= “ab” s2 = “eidboaoo”

输出为:False

注意:

输入仅包含小写字母,字符串长度范围是[1,10000]。

仔细阅读题目,你会发现,这不就是第438题么?排列组合(permutation)和变位词(anagrams)在这里不是一回事么?所以,我的解决方法很简单。直接把438题的函数findAnagrams实现粘到第567题的类里面,然后再第567题的函数里面调用438题的函数即可。如果你想多练习一下这个思路,重新写一遍也是可以的。

本题代码地址为: https://github.com/tinyfool/leetcode/tree/master/src/p0567

本文假设你对滑动窗口概念有所了解,如果你对滑动窗口的概念不够了解,请参看我介绍 滑动窗口的文章,里面有详细的解释


以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

A Philosophy of Software Design

A Philosophy of Software Design

John Ousterhout / Yaknyam Press / 2018-4-6 / GBP 14.21

This book addresses the topic of software design: how to decompose complex software systems into modules (such as classes and methods) that can be implemented relatively independently. The book first ......一起来看看 《A Philosophy of Software Design》 这本书的介绍吧!

随机密码生成器
随机密码生成器

多种字符组合密码

html转js在线工具
html转js在线工具

html转js在线工具

HSV CMYK 转换工具
HSV CMYK 转换工具

HSV CMYK互换工具