fork download
  1. def maxx(subs):
  2. al = {}
  3. for sub in subs:
  4. for s in sub:
  5. if not al.has_key(s): al[s] = 1
  6. else: al[s] += 1
  7. maxx = max(al.values())
  8. return filter(lambda item: item[1] == maxx and len(item[0]) > 1, al.iteritems())
  9.  
  10.  
  11. def substrs(words):
  12. al = []
  13. for word in words:
  14. subs, ii = [], 0
  15. for i, char in enumerate(word):
  16. try:
  17. if not subs:
  18. subs.append(char)
  19. if i != 0:
  20. ii += 1
  21. elif (char == word[i - 1]) and (char == word[i + 1]):
  22. subs[ii] += char
  23. else:
  24. subs.append(char)
  25. ii += 1
  26. except IndexError:
  27. subs[ii] += char
  28. al.append(subs)
  29. return maxx(al)
  30.  
  31. if __name__ == '__main__':
  32. print(substrs(("abcbb",
  33. "abcabb",
  34. "bb")))
  35.  
Success #stdin #stdout 0.02s 4676KB
stdin
Standard input is empty
stdout
[('bb', 3)]