[滑动窗口/哈希] leetcode 567 Permutation in String
Posted fish1996
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了[滑动窗口/哈希] leetcode 567 Permutation in String相关的知识,希望对你有一定的参考价值。
problem:https://leetcode.com/problems/permutation-in-string/
这道题感觉几乎和Leetcode上另一题一模一样,昨天刚刷的:https://www.cnblogs.com/fish1996/p/11269526.html,就当签到题爽一爽了。
class Solution { public: bool checkInclusion(string s1, string s2) { vector<int> target(26, 0); for (int i = 0; i < s1.size(); i++) { target[s1[i] - \'a\']++; } int k = s1.size(); vector<int> source(26, 0); int count = 0; for (int i = 0; i < s2.size(); i++) { source[s2[i] - \'a\']++; if (source[s2[i] - \'a\'] <= target[s2[i] - \'a\']) { count++; } if (i >= k) { if (source[s2[i - k] - \'a\'] <= target[s2[i - k] - \'a\']) { count--; } source[s2[i - k] - \'a\']--; } if (count == k) { return true; } } return false; } };
以上是关于[滑动窗口/哈希] leetcode 567 Permutation in String的主要内容,如果未能解决你的问题,请参考以下文章
Leetcode刷题100天—567. 字符串的排列(滑动窗口)—day22
滑动窗口同数组的结合(LeetCode 438.找到字符串中所有字母异位词&567.字符串的排列)