Advertisement
Guest User

Untitled

a guest
Mar 26th, 2020
94
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.68 KB | None | 0 0
  1. import collections
  2.  
  3. def longest_nonrepeating_substring(s):
  4. r = 0
  5. c = collections.Counter(s[0])
  6. best_width = 0
  7. for l in range(len(s)):
  8. while r < len(s)-1 and c[s[r+1]] < 1:
  9. r += 1
  10. c[s[r]] += 1
  11. best_width = max(best_width, 1+r-l)
  12. c[s[l]] -= 1
  13. return best_width
  14.  
  15.  
  16. test_cases = (
  17. ("abcabcbb", 3),
  18. ("bbbbb", 1),
  19. ("pwwkew", 3)
  20. )
  21.  
  22. for s, expected in test_cases:
  23. print("Input:", s)
  24. print("Expected output:", expected)
  25. actual = longest_nonrepeating_substring(s)
  26. if actual == expected:
  27. print(" PASSED.")
  28. else:
  29. print(" FAILED. Actual output:", actual)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement