File tree Expand file tree Collapse file tree 1 file changed +45
-0
lines changed
Expand file tree Collapse file tree 1 file changed +45
-0
lines changed Original file line number Diff line number Diff line change 1+ '''
2+ Given two strings, string1 and string2, write a function str_map to determine if there exists
3+ a one-to-one correspondence (bijection) between the characters of string1 and string2.
4+
5+ For the two strings, our correspondence must be between characters in the same position/index.
6+ '''
7+
8+
9+ from collections import Counter
10+
11+ def str_map (string1 , string2 ):
12+
13+ if len (string1 )!= len (string2 ):
14+ return False
15+
16+ d = Counter (string1 )
17+ d2 = Counter (string2 )
18+
19+ for k ,v in d .items ():
20+ if d2 [k ] != v :
21+ return False
22+ return True
23+
24+ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
25+ def str_map (string1 , string2 ):
26+ # check whether the strings are the same length
27+ if len (string1 ) != len (string2 ):
28+ return False
29+
30+ char_map = dict ()
31+ for char1 , char2 in zip (string1 , string2 ):
32+ if char1 not in char_map :
33+ char_map [char1 ] = char2
34+ elif char_map [char1 ] != char2 :
35+ return False
36+ for char1 , char2 in zip (string2 , string1 ):
37+ if char1 not in char_map :
38+ char_map [char1 ] = char2
39+ elif char_map [char1 ] != char2 :
40+ return False
41+
42+ return True
43+
44+
45+
You can’t perform that action at this time.
0 commit comments