567. 字符串的排列
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;
}
};
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· Docker 太简单,K8s 太复杂?w7panel 让容器管理更轻松!