Skip to content

Instantly share code, notes, and snippets.

@cocodrips
Created December 26, 2013 17:22
Show Gist options
  • Save cocodrips/8136312 to your computer and use it in GitHub Desktop.
Save cocodrips/8136312 to your computer and use it in GitHub Desktop.
import itertools
class ConvertibleStrings:
def leastRemovals(self, A, B):
candi = list(set(A + B))
perms = itertools.permutations(candi)
mini = 55
for perm in perms:
perm_d = {}
for k, v in enumerate(perm):
perm_d[candi[k]] = v
mini = min(mini, self.count_diff(perm_d, A, B, mini))
if mini == 0:
return 0
return mini
def count_diff(self, d, A, B, mini):
count = 0
for k, v in enumerate(A):
if d[A[k]] != B[k]:
count += 1
if count >= mini:
return count
return count
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment