首页 > 其他分享 >567. 字符串的排列

567. 字符串的排列

时间:2022-10-14 00:23:34浏览次数:54  
标签:26 排列 int s1 567 字符串 size

567. 字符串的排列

来自 <https://leetcode.cn/problems/permutation-in-string/?envType=study-plan&id=suan-fa-ru-men&plan=algorithms&plan_progress=sc0sqw2> 


class Solution {
public:
    // 滑动窗口思想,往右移动时,右边加一,左边减一
    bool checkInclusion(string s1, string s2) {
        int n=s1.size();
        int m=s2.size();
        if(n>m){
            return false;
        }
        vector<int> nums1(26,0);
        vector<int> nums2(26,0);  // 初始化一致
        for(int i=0;i<n;i++){
            nums1[s1[i]-'a']++;
             nums2[s2[i]-'a']++;
        }
        if(nums1==nums2){
            return true;
        }
        //  nums1!=nums2
        //  m>n
        // 设置一个滑动窗口大小为s1字符串大小,在nums2
        for(int i=n;i<m;i++){
            nums2[s2[i-n]-'a']--; // 左边界往右移动一格,减一
            nums2[s2[i]-'a']++; // 右边界往右移动一格,加一
            if(nums2==nums1){
                return true;
            }
        }
        return false;
    }
};


标签:26,排列,int,s1,567,字符串,size
From: https://www.cnblogs.com/mengfengguang/p/16790176.html

相关文章

  • 剑指offer 38. 字符串的排列
    输入一个字符串,打印出该字符串中字符的所有排列。你可以以任意顺序返回这个字符串数组,但里面不能有重复元素。示例:输入:s="abc"输出:["abc","acb","bac","bca","cab","......
  • js统计一个字符串中出现次数最多的字符,并统计其次数
     统计一个字符串中出现次数最多的字符,并统计其次数//统计一个字符串中出现次数最多的字符,并统计其次数varstr='qwyiuyqwiuwtyayuttywq';varo=newObje......
  • Go语言学习日记【二十四】将字符串中连续多个空格压缩为一个
    packagemainimport("fmt""regexp")funcmain(){oldstr:="Ihaveadream"fmt.Println(oldstr)newstr:=DeleteExtraSpace(oldstr)fmt.......
  • Go语言学习日记【二十五】golang格式化输出字符串左右对齐
    packagemainimport"fmt"funcmain(){fmt.Printf("%-40s\t%s\n","aaaaaaaaaaaaaaaaaa","a")fmt.Printf("%-40s\t%s\n","bb","b")} ......
  • Python基础四【字符串】
    1#双引号:使用双引号的一个好处,就是字符串中可以使用单引号字符。2#“转义字符”让你输入一些字符,它们用其他方式是不可能放在字符串里的。转义字符包含一个倒斜杠(\),......
  • 排列组合
    排列组合九大解题技巧(按理解难度排序)先选后排:先将元素选出来,再进行排列,非常有效的降低问题的复杂度。特殊优先:特殊元素,优先处理;特殊位置,优先考虑。分排用直排:$n$......
  • Python进阶:如何将字符串常量转化为变量?
     前几天,我们​​Python猫交流学习群​​里的M同学提了个问题。这个问题挺有意思,经初次讨论,我们认为它无解。然而,我认为它很有价值,应该继续思考怎么解决,所以就在私密的知......
  • 常见字符串算法 I
    Hash字符串哈希1.1.算法简介字符串哈希(Hash)一般通过进制哈希实现.即:将字符串看作一个数,通过进制转化为整型,进制数一般为特殊质数/模数常ull自然溢出(防止Hash冲突)。......
  • 字符串及正则表达式
    实验目的在python的开发过程中,为了实现某项功能,经常需要对某些字符串进行特殊处理,如拼接字符串,截取字符串、格式化字符串等。实验过程实例01使用字符串拼接输出一个关......
  • 字符串
    实验 项目名称:     字符串与正则表达式                一.   实验目的和要求 认识字符串,熟悉正则表达式二.  实验环境......