main.go 542 B

123456789101112131415161718192021222324252627282930313233343536373839
  1. package main
  2. import "fmt"
  3. // Runtime: 360ms Unstable Ram: 24.44mb
  4. func lengthOfLongestSubstring(s string) int {
  5. var m map[uint8]int = make(map[uint8]int)
  6. var i int = 0
  7. var c uint8 = 0
  8. var max int = 0
  9. if len(s) <= 1 {
  10. return len(s)
  11. }
  12. for ; i < len(s); i++ {
  13. c = s[i]
  14. if _i, ok := m[c]; ok {
  15. if len(m) > max {
  16. max = len(m)
  17. }
  18. m = make(map[uint8]int)
  19. i = _i
  20. continue
  21. }
  22. m[c] = i
  23. }
  24. if len(m) > max {
  25. max = len(m)
  26. }
  27. return max
  28. }
  29. func main() {
  30. fmt.Printf("%v\n", lengthOfLongestSubstring("dvdf"))
  31. }