【Leetcode从零开始】20190506 #1021. 删除最外层的括号

270 阅读1分钟

今早跑出来了个BCI Competition IV dataset 2b的结果

昨晚打csgo前花了半小时调好了程序,今天一跑出来每个样本都在95%左右

有点不敢相信

下午在健身过后的昏昏沉沉里写了一道题

下面是第一次通过的代码:

class Solution(object):
def removeOuterParentheses(self, s):
    """
    :type S: str
    :rtype: str
    """
    counter=0
    stack=[]
    store=[]
    result=''
    for i in range(len(s)):
        if s[i]=='(': 
            counter+=1
            stack.append("(")
            
        if s[i]==')':
            counter-=1
            stack.append(")")
            if counter==0: 
                store.append(stack)
                stack=[]
    for j in range(len(store)):
        element=store[j]
        store[j]=element[1:(len(element)-1)]
    for k in range(len(store)):
        for x in range(len(store[k])):
            result+=store[k][x]
    return result
            
执行用时 : 96 ms, 在Remove Outermost Parentheses的Python提交中击败了15.25% 的用户
内存消耗 : 12.3 MB, 在Remove Outermost Parentheses的Python提交中击败了6.38% 的用户

可以说是非常无脑了,不过现在秉承着“先暴力实现,再优化”的思想 接下来看能不能优化一下。

class Solution(object):
def removeOuterParentheses(self, s):
    """
    :type S: str
    :rtype: str
    """
    counter=0
    stack=[]
    store=[]
    result=''
    for i in range(len(s)):
        if s[i]=='(': 
            counter+=1
            stack.append("(")
            
        if s[i]==')':
            counter-=1
            stack.append(")")
            if counter==0: 
                store.append(stack)
                stack=[]
    for k in range(len(store)):
        element=store[k]
        store[k]=element[1:(len(element)-1)]
        for x in range(len(store[k])):
            result+=store[k][x]
    return result
            
执行用时 : 88 ms, 在Remove Outermost Parentheses的Python提交中击败了16.95% 的用户
内存消耗 : 12.3 MB, 在Remove Outermost Parentheses的Python提交中击败了6.38% 的用户

不尽人意...