leetcode 字符串的排列

简介: 给你两个字符串 s1 和 s2 ,写一个函数来判断 s2 是否包含 s1 的排列。如果是,返回 true ;否则,返回 false 。
classSolution {
public:
boolcheckInclusion(strings1, strings2) {
intn=s1.length(), m=s2.length();
if (n>m) {
returnfalse;
        }
vector<int>cnt1(26), cnt2(26);
for (inti=0; i<n; ++i) {
++cnt1[s1[i] -'a'];
++cnt2[s2[i] -'a'];
        }
if (cnt1==cnt2) {
returntrue;
        }
for (inti=n; i<m; ++i) {
++cnt2[s2[i] -'a'];
--cnt2[s2[i-n] -'a'];
if (cnt1==cnt2) {
returntrue;
            }
        }
returnfalse;
    }
};
相关文章
|
1月前
|
存储 算法
LeetCode第43题字符串相乘
LeetCode第43题"字符串相乘"的解题方法,通过使用数组存储乘积并处理进位,避免了字符串转换数字的复杂性,提高了算法效率。
LeetCode第43题字符串相乘
|
1月前
|
算法 Java
LeetCode第28题找出字符串中第一个匹配项的下标
这篇文章介绍了LeetCode第28题"找出字符串中第一个匹配项的下标"的两种解法:暴力解法和KMP算法,并解释了KMP算法通过构建前缀表来提高字符串搜索的效率。
LeetCode第28题找出字符串中第一个匹配项的下标
|
1月前
|
算法
LeetCode第8题字符串转换整数 (atoi)
该文章介绍了 LeetCode 第 8 题字符串转换整数 (atoi)的解法,需要对字符串进行格式解析与校验,去除前导空格和处理正负号,通过从高位到低位的计算方式将字符串转换为整数,并处理越界情况。同时总结了这几道题都需要对数字的表示有理解。
LeetCode第8题字符串转换整数 (atoi)
|
1月前
|
算法 Java
LeetCode初级算法题:环形链表+排列硬币+合并两个有序数组java解法
LeetCode初级算法题:环形链表+排列硬币+合并两个有序数组java解法
43 0
|
3月前
|
算法
力扣每日一题 6/23 字符串/模拟
力扣每日一题 6/23 字符串/模拟
27 1
|
3月前
力扣经典150题第四十题:同构字符串
力扣经典150题第四十题:同构字符串
24 1
|
3月前
|
索引
力扣每日一题 6/27 字符串 贪心
力扣每日一题 6/27 字符串 贪心
24 0
|
3月前
|
Python
力扣随机一题 模拟+字符串
力扣随机一题 模拟+字符串
22 0
|
3月前
力扣每日一题 6/22 字符串/贪心
力扣每日一题 6/22 字符串/贪心
21 0
|
3月前
力扣每日一题 6/18 字符串/模拟
力扣每日一题 6/18 字符串/模拟
20 0