【编程题目 |200分】最大括号深度【2021, 2022 Q1,Q2考试题】


时间限制:C/C++ 1秒,其他语言 2秒

空间限制:C/C++262144K,其他语言524288K

64bit IO Format:%lld


本题可使用本地IDE编码,不能使用本地已有代码,无跳出限制,

编码后请点击”保存并调试“按钮进行代码提交。


题目描述

现有一字符串仅由 ‘(‘,’)’,'{‘,’}’,'[‘,’]’六种括号组成。

若字符串满足以下条件之一,则为无效字符串:

①任一类型的左右括号数量不相等;

②存在未按正确顺序(先左后右)闭合的括号。

输出括号的最大嵌套深度,若字符串无效则输出0

0≤字符串长度≤100000

输入描述:

一个只包括 ‘(‘,’)’,'{‘,’}’,'[‘,’]’的字符串

输出描述:

一个整数,最大的括号深度

示例1  输入输出示例仅供调试,后台判题数据一般不包含示例

输入

[]

输出

1

说明

有效字符串,最大嵌套深度为1

示例2  输入输出示例仅供调试,后台判题数据一般不包含示例

输入

([]{()})

输出

3

说明

有效字符串,最大嵌套深度为3

示例3  输入输出示例仅供调试,后台判题数据一般不包含示例

输入

(]

输出

0

说明

无效字符串,有两种类型的左右括号数量不相等

示例4  输入输出示例仅供调试,后台判题数据一般不包含示例

输入

([)]

输出

0

说明

无效字符串,存在未按正确顺序闭合的括号

示例5  输入输出示例仅供调试,后台判题数据一般不包含示例

输入

)(

输出

0

说明

无效字符串,存在未按正确顺序闭合的括号。


C++


#include <bits/stdc++.h>

using namespace std;

bool ValidMaxDepth(string s, int &depth)
{
    int n = (int) s.size();
    if (n % 2 == 1) {
        return false;
    }

剩余50%内容,订阅会员后查看


隐藏内容

此处内容需要权限查看

  • 普通用户特权:11金币
  • 会员用户特权:免费
  • 永久会员用户特权:免费推荐
会员免费查看

JAVA解法一


import java.util.Scanner;
import java.util.Stack;

public class Main {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        String inputStr = scanner.nextLine();
        char[] chars = inputStr.toCharArray();
        int len = chars.length;

        if (len % 2 != 0) {
            System.out.println("0");
            return;
        }

剩余50%内容,订阅会员后查看


隐藏内容

此处内容需要权限查看

  • 普通用户特权:11金币
  • 会员用户特权:免费
  • 永久会员用户特权:免费推荐
会员免费查看

JAVA解法二


import java.util.Scanner;

public class Main {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        String input = sc.nextLine();
        char[] chars = input.toCharArray();
        MyStack<Character> stack = new MyStack<>(input.length());

剩余50%内容,订阅会员后查看


隐藏内容

此处内容需要权限查看

  • 普通用户特权:11金币
  • 会员用户特权:免费
  • 永久会员用户特权:免费推荐
会员免费查看

Python


while 1:
    try:
        nums = input()
        max_ = 0

剩余50%内容,订阅会员后查看


隐藏内容

此处内容需要权限查看

  • 普通用户特权:11金币
  • 会员用户特权:免费
  • 永久会员用户特权:免费推荐
会员免费查看