aboutsummaryrefslogtreecommitdiff
path: root/other/permutation_in_string.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'other/permutation_in_string.cpp')
-rw-r--r--other/permutation_in_string.cpp47
1 files changed, 0 insertions, 47 deletions
diff --git a/other/permutation_in_string.cpp b/other/permutation_in_string.cpp
deleted file mode 100644
index f4e09f3..0000000
--- a/other/permutation_in_string.cpp
+++ /dev/null
@@ -1,47 +0,0 @@
-// 567. Permutation in String
-#include "leetcode.h"
-
-/*
- * given two strings 's1 s2' return true if 's2' contains a permutation of 's1'
- * or false otherwise. in other words, return true if one of 's1's permutations
- * is in the substring of 's2'
- */
-
-class Solution {
-public:
- bool checkInclusion(string s1, string s2) {
- if (s2.size() < s1.size())
- return false;
- vector<int> freq1(26, 0), freq2(26, 0);
- for (char c : s1)
- freq1[c - 'a']++;
- int i = 0, j = 0;
- while (j < s2.size()) {
- freq2[s2[j] - 'a']++;
- if (j - i + 1 == s1.size())
- if (cmp(freq1, freq2))
- return true;
- if (j - i + 1 < s1.size())
- j++;
- else {
- freq2[s2[i] - 'a']--;
- i++, j++;
- }
- }
- return false;
- }
-
-private:
- bool cmp(vector<int> a, vector<int> b) {
- for (int i = 0; i < 26; i++)
- if (a[i] != b[i])
- return false;
- return true;
- }
-};
-
-int main() {
- Solution obj;
- cout << obj.checkInclusion("ab", "eidbaooo") << endl; // expect: 1
- cout << obj.checkInclusion("ab", "eidboaoo") << endl; // expect: 0
-}