def find_permutation(str, pattern):
String=“odicf”, Pattern=“dc”
from collections import Counter
pattern_char = Counter(pattern)
start = 0
string_char = {}
for end in range(len(str)):
char = str[end]
if char not in string_char:
string_char[char] = 0
string_char[char] += 1
if (end-start+1) >= len(pattern):
if pattern_char == string_char:
return True
char_to_go = str[start]
string_char[char_to_go] -= 1
if string_char[char_to_go] == 0:
del string_char[char_to_go]
start += 1
return False