Question: We'll say that 2 strings match if they are non-empty and their first chars are the same. Loop over the given list of non-empty strings
We'll say that 2 strings "match" if they are non-empty and their first chars are the same. Loop over the given list of non-empty strings as follows: if a string "matches" an earlier string in the list, swap the two strings in the list. When a position in the list has been swapped, it no longer matches anything and can not be swapped again. Using a dictionary, this can be solved making just one pass over the array.
all_swap(['ab', 'ac']) ['ac', 'ab']
all_swap(['ax', 'bx', 'cx', 'cy', 'by', 'ay', 'aaa', 'azz']) ['ay', 'by', 'cy', 'cx', 'bx', 'ax', 'azz', 'aaa']
all_swap(['ax', 'bx', 'ay', 'by', 'ai', 'aj', 'bx', 'by']) ['ay', 'by', 'ax', 'bx', 'aj', 'ai', 'by', 'bx']
complete in python Starter code is listed bellow do not delete the starter code
def all_swap(lst):
pass #delete this when your function has actual code
lst1 = ['ab', 'ac']
all_swap(lst1)
print(lst1) #['ac', 'ab']
lst2 = ['ax', 'bx', 'cx', 'cy', 'by', 'ay', 'aaa', 'azz']
all_swap(lst2)
print(lst2) #['ay', 'by', 'cy', 'cx', 'bx', 'ax', 'azz', 'aaa']
Step by Step Solution
There are 3 Steps involved in it
1 Expert Approved Answer
Step: 1 Unlock
Question Has Been Solved by an Expert!
Get step-by-step solutions from verified subject matter experts
Step: 2 Unlock
Step: 3 Unlock
