Skip to content

Commit 9480ad7

Browse files
committed
add case
1 parent c6e8041 commit 9480ad7

File tree

1 file changed

+25
-14
lines changed

1 file changed

+25
-14
lines changed

Medium/longest_palindrome_substring.go

Lines changed: 25 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -13,31 +13,41 @@ func reverseString(s string) string {
1313
}
1414

1515
func longestPalindrome(s string) string {
16-
var resultMatch string
16+
if len(s) == 0 || len(s) > 1000 {
17+
return s
18+
}
1719

18-
if len(s) > 1000 {
19-
return resultMatch
20+
if s == reverseString(s) {
21+
return s
2022
}
2123

24+
var resultMatch string
2225
strSplit := []rune(s)
2326
lenStr := len(strSplit)
24-
25-
collectMatch := make(map[string]int)
27+
resultMatch = string(strSplit[0])
2628
for i := 0; i < lenStr; i++ {
2729
for j := i + 1; j <= lenStr; j++ {
28-
getStr := strSplit[i:j]
29-
strJoin := string(getStr)
30+
if strSplit[i] != strSplit[j-1] {
31+
continue
32+
}
3033

31-
if _, ok := collectMatch[strJoin]; ok {
34+
if j > 1 && i+1 < lenStr && strSplit[i+1] != strSplit[j-2] {
3235
continue
3336
}
3437

38+
if len(resultMatch) >= j-i {
39+
continue
40+
}
41+
42+
strJoin := string(strSplit[i:j])
3543
strJoinReverse := reverseString(strJoin)
44+
45+
// if i == 1 {
46+
// fmt.Printf("%d - %d \n", i, j)
47+
// }
48+
3649
if strJoin == strJoinReverse {
37-
if len(strJoin) > len(resultMatch) {
38-
resultMatch = strJoin
39-
collectMatch[strJoin] = i
40-
}
50+
resultMatch = strJoin
4151
}
4252
}
4353
}
@@ -48,8 +58,9 @@ func longestPalindrome(s string) string {
4858
func run_longestPalindrome() {
4959
// start := time.Now()
5060
fmt.Println(longestPalindrome("cbbd"))
51-
// fmt.Println(longestPalindrome("c"))
52-
fmt.Println(longestPalindrome("ibvjkmpyzsifuxcabqqpahjdeuzaybqsrsmbfplxycsafogotliyvhxjtkrbzqxlyfwujzhkdafhebvsdhkkdbhlhmaoxmbkqiwiusngkbdhlvxdyvnjrzvxmukvdfobzlmvnbnilnsyrgoygfdzjlymhprcpxsnxpcafctikxxybcusgjwmfklkffehbvlhvxfiddznwumxosomfbgxoruoqrhezgsgidgcfzbtdftjxeahriirqgxbhicoxavquhbkaomrroghdnfkknyigsluqebaqrtcwgmlnvmxoagisdmsokeznjsnwpxygjjptvyjjkbmkxvlivinmpnpxgmmorkasebngirckqcawgevljplkkgextudqaodwqmfljljhrujoerycoojwwgtklypicgkyaboqjfivbeqdlonxeidgxsyzugkntoevwfuxovazcyayvwbcqswzhytlmtmrtwpikgacnpkbwgfmpavzyjoxughwhvlsxsgttbcyrlkaarngeoaldsdtjncivhcfsaohmdhgbwkuemcembmlwbwquxfaiukoqvzmgoeppieztdacvwngbkcxknbytvztodbfnjhbtwpjlzuajnlzfmmujhcggpdcwdquutdiubgcvnxvgspmfumeqrofewynizvynavjzkbpkuxxvkjujectdyfwygnfsukvzflcuxxzvxzravzznpxttduajhbsyiywpqunnarabcroljwcbdydagachbobkcvudkoddldaucwruobfylfhyvjuynjrosxczgjwudpxaqwnboxgxybnngxxhibesiaxkicinikzzmonftqkcudlzfzutplbycejmkpxcygsafzkgudy"))
61+
fmt.Println(longestPalindrome("babad"))
62+
fmt.Println(longestPalindrome("ccc"))
63+
fmt.Println(longestPalindrome("xaaaabbbbbbbbbbccccccccccddddddddddeeeeeeeeeeffffffffffgggggggggghhhhhhhhhhiiiiiiiiiijjjjjjjjjjkkkkkkkkkkllllllllllmmmmmmmmmmnnnnnnnnnnooooooooooppppppppppqqqqqqqqqqrrrrrrrrrrssssssssssttttttttttuuuuuuuuuuvvvvvvvvvvwwwwwwwwwwxxxxxxxxxxyyyyyyyyyyzzzzzzzzzzyyyyyyyyyyxxxxxxxxxxwwwwwwwwwwvvvvvvvvvvuuuuuuuuuuttttttttttssssssssssrrrrrrrrrrqqqqqqqqqqppppppppppoooooooooonnnnnnnnnnmmmmmmmmmmllllllllllkkkkkkkkkkjjjjjjjjjjiiiiiiiiiihhhhhhhhhhggggggggggffffffffffeeeeeeeeeeddddddddddccccccccccbbbbbbbbbbaaaaaaaabbbbbbbbbbccccccccccddddddddddeeeeeeeeeeffffffffffgggggggggghhhhhhhhhhiiiiiiiiiijjjjjjjjjjkkkkkkkkkkllllllllllmmmmmmmmmmnnnnnnnnnnooooooooooppppppppppqqqqqqqqqqrrrrrrrrrrssssssssssttttttttttuuuuuuuuuu"))
5364
// d := time.Since(start)
5465
// fmt.Println(d)
5566
}

0 commit comments

Comments
 (0)