• 括号配对


    括号配对问题

    时间限制:3000 ms  |  内存限制:65535 KB

    难度:3

    描述

    现在,有一行括号序列,请你检查这行括号是否配对。

    输入

    第一行输入一个数N0<N<=100,表示有N组测试数据。后面的N行输入多组输入数据,每组输入数据都是一个字符串S(S的长度小于10000,且S不是空串),测试数据组数少于5组。数据保证S中只含有"[","]","(",")"四种字符

    输出

    每组输入数据的输出占一行,如果该字符串中所含的括号是配对的,则输出Yes,如果不配对则输出No

    样例输入

    3

    [(])

    (])

    ([[]()])

    样例输出

    No

    No

    Yes

    import java.util.*;
    public class Main {
        
        public static void main(String[] args) {
            // TODO Auto-generated method stub
            Scanner sc=new Scanner(System.in);
            int n=sc.nextInt();
            while(n-->0){
                boolean flag=true;
            String str=sc.next();
            char ch[]=str.toCharArray();
            String s[]=new String[str.length()];
            for(int i=0;i<str.length();i++){
                s[i]=String.valueOf(ch[i]);
            }
               Stack<String> stack=new Stack<String>();
               for(int i=0;i<s.length;i++){
                   if(s[i].equals("(")||s[i].equals("["))
                       stack.push(s[i]);
                   else if(s[i].equals(")"))
                   {
                       if(stack.isEmpty() || !stack.peek().equals("(")) {flag=false;break;}
                       else 
                           stack.pop();  
                   }
                   else if(s[i].equals("]"))
                   {
                       if(stack.isEmpty() || !stack.peek().equals("[")){flag=false;break;}
                       else
                           stack.pop();
                       
                       
                   }
               
               }
               
               if(!stack.isEmpty())flag=false;
               
               if(flag)
                   System.out.println("Yes");
               else
                   System.out.println("No");
            
              
                }
                
                    sc.close();
        }
    }
  • 相关阅读:
    BP反向传播
    神经网络基本概念理解
    梯度下降算法理解(梯度的含义)
    ResNet
    残差是什么?拟合是什么?
    Perceptual Losses for Real-Time Style Transfer and Super-Resolution 论文理解
    java动手动脑之多态
    java 动手动脑之父子继承
    java动手动脑
    java验证课上代码
  • 原文地址:https://www.cnblogs.com/watchfree/p/5313650.html
Copyright © 2020-2023  润新知