首页 > 其他 > 详细

寻找最长不含有重复字符的子串 示例

时间:2020-09-07 14:39:32      阅读:59      评论:0      收藏:0      [点我收藏+]
package main

import (
    "fmt"
)

func lengthOfNonRepeatSubStr(s string) int {
    lastOccured := make(map[rune]int)
    start := 0
    maxLength := 0
    for i, ch := range []rune(s) {
        if lastI, ok := lastOccured[ch]; ok && lastI >= start {
            start = lastI + 1

        }
        if i-start+1 > maxLength {
            maxLength = i - start + 1
        }
        lastOccured[ch] = i
    }
    return maxLength

}

func main() {
	fmt.Println(lengthOfNonRepeatSubStr("abcabcbb"))
	fmt.Println(lengthOfNonRepeatSubStr("bbbb"))
	fmt.Println(lengthOfNonRepeatSubStr("pwwkew"))
	fmt.Println(lengthOfNonRepeatSubStr("我已经不知道屏蔽的标准是什么了,不就是题目耸了点么也屏蔽啊"))
 }

输出

3

1

3

16

寻找最长不含有重复字符的子串 示例

原文:https://www.cnblogs.com/saryli/p/13626260.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!