• 欢迎访问 YZBTDIY!
  • 本站启用 TLS 加密!
  • 站点优化使用 WPJAM 的插件,万分感谢!

map 算法

每日一GO admin 1周前 (06-10) 17次浏览 0个评论

寻找不含有重复字符串的子串,不是很理解......

code

package main

import "fmt"

//寻找不含有重复字符串的子串
func length0fNonRepeatingSubStr(s string) int {
    last0ccurred := make(map[byte]int)
    start := 0
    maxLength := 0

    for i, ch := range []byte(s) {

        if lastI, ok := last0ccurred[ch]; ok && lastI >= start {
            start = lastI + 1
        }
        if i-start+1 > maxLength {
            maxLength = i - start + 1
        }
        last0ccurred[ch] = i
    }
    return maxLength
}

func transferParameters() {
    fmt.Println(length0fNonRepeatingSubStr("abcabcbb"))
    fmt.Println(length0fNonRepeatingSubStr("bbbbbb"))
    fmt.Println(length0fNonRepeatingSubStr("pwwkew"))
}

func main() {
    transferParameters()
}

result

3
1
3

YZBTDIY , 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:map 算法
喜欢 (0)
发表我的评论
取消评论
表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址