zoukankan      html  css  js  c++  java
  • Codility---Nesting

    Task description

    A string S consisting of N characters is called properly nested if:

    • S is empty;
    • S has the form "(U)" where U is a properly nested string;
    • S has the form "VW" where V and W are properly nested strings.

    For example, string "(()(())())" is properly nested but string "())" isn't.

    Write a function:

    class Solution { public int solution(String S); }

    that, given a string S consisting of N characters, returns 1 if string S is properly nested and 0 otherwise.

    For example, given S = "(()(())())", the function should return 1 and given S = "())", the function should return 0, as explained above.

    Assume that:

    • N is an integer within the range [0..1,000,000];
    • string S consists only of the characters "(" and/or ")".

    Complexity:

    • expected worst-case time complexity is O(N);
    • expected worst-case space complexity is O(1) (not counting the storage required for input arguments).
     
    Solution
     
    Programming language used: Java
    Total time used: 23 minutes
    Effective time used: 23 minutes
    Code: 15:25:23 UTC, java, final, score:  100
    // you can also use imports, for example:
    // import java.util.*;
    
    // you can write to stdout for debugging purposes, e.g.
    // System.out.println("this is a debug message");
    import java.util.Stack;
    class Solution {
        public int solution(String S) {
            // write your code in Java SE 8
            Stack<Character> st = new Stack<Character>();
            if(S == null)
                return 1;
            for(int i=0; i<S.length();i++){
                if(S.charAt(i) == '(')
                    st.push('(');
                else if(S.charAt(i) == ')' && !st.empty())
                    st.pop();
                else if(S.charAt(i) == ')' && st.empty())
                    return 0;
            }
            if(st.empty())
                return 1;
            else
                return 0;
        }
    }


    https://codility.com/demo/results/trainingUYAFS5-NWU/
     
  • 相关阅读:
    OpenCV中threshold函数的使用
    opencv中namedWindow( )函数
    Open CV leaning
    RGB颜色表
    visual studio 2015 Opencv4.0.1配置
    uint16_t
    Arduino重置-复位问题
    bzoj1823 [JSOI2010]满汉全席(2-SAT)
    bzoj2208 [Jsoi2010]连通数(scc+bitset)
    UVAlive3713 Astronauts(2-SAT)
  • 原文地址:https://www.cnblogs.com/samo/p/6864318.html
Copyright © 2011-2022 走看看