求最长同字母序列算法 - Go语言实现
给定一个query和一个text,均由小写字母组成。要求在text中找出以同样的顺序连续出现在query中的最长连续字母序列的长度。例如, query为“acbac”,text为“acaccbabb”,那么text中的“cba”为最长的连续出现在query中的字母序列,因此,返回结果应该为其长度3
//求最长同字母序列 package main import ( "fmt" "strings" ) func main() { query := "acbac" text := "acaccbabb" count := 0 maxStr := []string{} for i:=0;i<len(query);i++{ for j:=i;j<len(query);j++{ tmp := query[j-i:j+1] if strings.Contains(text, tmp) { maxStr = append(maxStr,tmp) count = len(tmp) } } } fmt.Println(maxStr, count) }