package main import "fmt" func main() { fmt.Println(minWindow("baABabbb", "A")) } func minWindow(s string, t string) string { return "" } //func minWindow(s string, t string) string { // if len(s) < len(t) { // return "" // } // //fmt.Println("1") // minstr := "" // numstr := make([]int, 256) // num := 0 // for _, ch := range t { // // //fmt.Println("ch:", ch, 'a') // numstr[ch]++ // num++ // } // // for i := 0; i < len(s); i++ { // //fmt.Println("1") // if int(s[i]) >= len(numstr) { // //fmt.Println("2") // continue // } // //fmt.Println("------当前i,", i) // //fmt.Println("numstr[s[i]]", numstr[s[i]]) // if numstr[s[i]] > 0 { // tmpnum := num // tmpstr := make([]int, 256) // copy(tmpstr, numstr) // tmpstr[s[i]] -= 1 // tmpnum-- // p := i + 1 // for p < len(s) { // if tmpnum == 0 { // //fmt.Println("退出循环") // break // } // //fmt.Println("当前p:", p, "指向:", string(s[p])) // //fmt.Println("tmpstr", tmpstr) // if int(s[p]) >= len(tmpstr) { // p++ // //fmt.Println("跳过") // continue // } // // if tmpstr[s[p]] > 0 { // tmpstr[s[p]] -= 1 // tmpnum-- // // //fmt.Println("修改后的tmpstr", tmpstr) // // } // //fmt.Println("1") // p++ // } // //fmt.Println("本次循环中tmpnum为:", tmpnum) // if tmpnum == 0 { // //fmt.Println("匹配到目标") // if len(minstr) == 0 { // minstr = s[i:p] // } else { // if (p - i) < len(minstr) { // minstr = s[i:p] // } // } // // } else { // continue // // } // // } else { // continue // } // //fmt.Println("------退出第", i, "次循环,minstr为:", minstr) // } // // return minstr //}