给定一个只包含左右括号的序列,求最长的合法子串满足括号能对应匹配。-笔试面试资料

这是qklbishe.com第19521 篇笔试面试资料
提供答案分析,通过本文《给定一个只包含左右括号的序列,求最长的合法子串满足括号能对应匹配。-笔试面试资料》可以理解其中的代码原理,这是一篇很好的求职学习资料
本站提供程序员计算机面试经验学习,笔试经验,包括字节跳动/头条,腾讯,阿里,美团,滴滴出行,网易,百度,京东,小米,华为,微软等互联网大厂真题学习背诵。

答案:

给定一个只包含左右括号的序列,求最长的合法子串满足括号能对应匹配。

给定一个只包含左右括号的序列,求最长的合法子串满足括号能对应匹配。 WangYusen
package main

import "fmt"

func main() {
    var input string
    fmt.Scanln(&input)
    stack := []int{}
    for i := 0; i < len(input); i++ {
        if input[i] == ‘(‘ {
            stack = append(stack, i)
        } else {
            if len(stack) == 0 {
                stack = append(stack, i)
                continue
            } else if input[stack[len(stack)-1]] == ‘(‘ {
                stack = stack[:len(stack)-1]
            } else {
                stack = append(stack, i)
            }
        }
    }
    stack = append([]int{1}, stack…)
    stack = append(stack, len(input)-1)
    count := 1
    for i := 0; i < len(stack)-1; i++ {
        if count < stack[i+1]-stack[i]-1 {
            count = stack[i+1] – stack[i] – 1
        }
    }
    fmt.Println(count)

}

2021-12-25 19:34:44 回复(0)

文章部分来自互联网,侵权联系删除
www.qklbishe.com

区块链毕设网(www.qklbishe.com)全网最靠谱的原创区块链毕设代做网站
部分资料来自网络,侵权联系删除!
资源收费仅为搬运整理打赏费用,用户自愿支付 !
qklbishe.com区块链毕设代做网专注|以太坊fabric-计算机|java|毕业设计|代做平台 » 给定一个只包含左右括号的序列,求最长的合法子串满足括号能对应匹配。-笔试面试资料

提供最优质的资源集合

立即查看 了解详情