Files
Leetcode/567. Permutation in String/Solution.cs
Electrominch 01c5720116 Day10
2022-10-12 02:30:23 +03:00

39 lines
1.1 KiB
C#

namespace _567._Permutation_in_String;
public class Solution
{
public bool CheckInclusion(string s1, string s2)
{
int[] letters = new int[26];
foreach (char c in s1)
letters[c - 97]++;
int[] buff = new int[26];
Array.Copy(letters, buff, letters.Length);
for (int i = 0; i <= s2.Length - s1.Length; i++)
{
if (letters[s2[i] - 97] != 0)
{
Array.Copy(letters, buff, letters.Length);
for (int j = i; j < i + s1.Length; j++)
{
char ch = s2[j];
buff[ch - 97]--;
if (buff[ch - 97] < 0)
break;
}
bool win = true;
for (int bIndex = 0; bIndex < buff.Length; bIndex++)
{
if (buff[bIndex] != 0)
{
win = false;
break;
}
}
if (win)
return true;
}
}
return false;
}
}