美文网首页
偶然发现的一个问题

偶然发现的一个问题

作者: clshinem | 来源:发表于2017-11-16 19:44 被阅读0次

偶然在简书上面发现的一个问题,用python实现了一下。应该有没有考虑到的用例,如果有人看到望指出

写一个方法,请将任意字符串中的"<" ">"最近的之间的内容删除,并返回其余的字符串;例如:
NSString str1 = "<hdadsdtmlsssss></dqdqw>4<5<//dwdq><uioq>";
返回 4 <5;
NSString str2 = "<dwqdwqdq>abc<dwdwdw>de<dddd>";
返回 abcde;

def sol(s):
    length = len(s)
    start = -1
    end = -1
    resultlist = []
    for i in range(0,length):
        if s[i] == '<':
            start = i
        if s[i] == '>':
            if start != -1:
                end = i
                resultlist.append(s[start:end+1]) 
                start = -1# 要注意把前一次匹配到的左括号清零,不然后续的右括号会一直和最前面这个左括号匹配
                
        
    for j in resultlist:
        print j
        s = s.replace(j,'')
    return s


问题优化

昨晚临睡前想到了这个解法的问题<1<2,3>>我的算法只能删除掉<2,3>但是删除不掉整个字符串,所以想到括号匹配的问题,用两个栈来记录左右括号的下标,但是如果删除掉了里面的括号,字符串的下标就变了,以前记录的字符串的下标就是错位的,删除的时候也没有办法用下标来删除,因为字符串的下标是变的。
附上解法:

def sol(s):
    scopy = []
    left = []
    right = []
    for i in range(0,len(s)):
        if s[i] == '<':
            left.append(i)
        if s[i] == '>':
            right.append(i)
            if len(left) != 0:
                start = left.pop()
                end = right.pop()
                scopy.append(s[start:end+1])
    scopy = scopy[::-1]
    # print (scopy)
    for j in scopy:
        # print (j)
        s = s.replace(j,"")
        # print (s)
    return s
print ("s = ",sol(str2))

相关文章

  • 偶然发现的一个问题

    偶然在简书上面发现的一个问题,用python实现了一下。应该有没有考虑到的用例,如果有人看到望指出 写一个方法,请...

  • 偶然的发现

    下了课和朋友手挽手在校园里漫无目的地散步,讲了许多不着边际的废话,白天的热度也已经散去,偶尔吹来几阵风,好像所有的...

  • 偶然的发现

    人生的精彩在于偶然的发现,偶然的发现曾经的小树,茁壮成长;偶然的发现在心底的梦想,逐渐成长…… 有时会发现正值风华...

  • 偶然的发现

    其实一直都知道他非常温暖,一直呵护着我。但今天中午睡觉的时候外面好像有人在吵闹,睡梦中我感觉到他轻轻的捂住了我的耳...

  • 偶然发现的

    炎阳之下的目光 我看不清你的脸 我在人群中寻找着 罗曼蒂克消亡史 黑幕降临前 请让我看清你的模样 拿着金色玫瑰的手...

  • 偶然的发现

    作者:李馨扬 我有一个超级忙碌的爸爸。自我记事起,就很难见到他面。出差回来,他自然是带了好多好吃的好玩...

  • 偶然的发现

    偶然间发现距离前一篇文章已经过去快年了,说好的写文章呢,惭愧! 看到日更,果断加入,再次测试坚持吧,天天说别人要坚...

  • 偶然的发现

    这天,墙面上的电子钟刚好显示到4:00,下班时间到啦,办公室人员一窝蜂地跑到打卡地方,开始井然有序的排队打卡。此时...

  • 偶然的发现

    截止目前为止,读书群已经共读过两本王小波的书了。 今天在蜗牛上看到了他的“时代三部曲”,全部加入了书架。(我记得之...

  • 偶然的发现

    美术与设计学院 20产品本杨雪花 终于做完了!我长舒一口气,自进入初三以来,每个周末都被书山题海压得喘不过气来,我...

网友评论

      本文标题:偶然发现的一个问题

      本文链接:https://www.haomeiwen.com/subject/ggsrvxtx.html