Python: Check whether it follows the sequence given in the patterns array
Write a Python program to check whether it follows the sequence given in the patterns array.
Pattern example:
For color1 = ["red", "green", "green"] and patterns = ["a", "b", "b"]
the output should be samePatterns(color1, patterns) = true;
For color2 = ["red", "green", "greenn"] and patterns = ["a", "b", "b"]
the output should be samePatterns (strings, color2) = false.
Sample Solution:
Python Code :
def is_samePatterns(colors, patterns):
if len(colors) != len(patterns):
return False
sdict = {}
pset = set()
sset = set()
for i in range(len(patterns)):
pset.add(patterns[i])
sset.add(colors[i])
if patterns[i] not in sdict.keys():
sdict[patterns[i]] = []
keys = sdict[patterns[i]]
keys.append(colors[i])
sdict[patterns[i]] = keys
if len(pset) != len(sset):
return False
for values in sdict.values():
for i in range(len(values) - 1):
if values[i] != values[i+1]:
return False
return True
print(is_samePatterns(["red",
"green",
"green"], ["a",
"b",
"b"]))
print(is_samePatterns(["red",
"green",
"greenn"], ["a",
"b",
"b"]))
Sample Output:
True False
Python Code Editor:
Contribute your code and comments through Disqus.
Previous: Write a Python program to find the first duplicate element in a given array of integers. Return -1 If there are no such elements.
Next: Write a Python program to find a pair with highest product from a given array of integers.
What is the difficulty level of this exercise?
Test your Programming skills with w3resource's quiz.
- Weekly Trends and Language Statistics
- Weekly Trends and Language Statistics