leetcode-5392-分割字符串的最大得分

题目描述:

 

 自己的提交:

class Solution:
    def maxScore(self, s: str) -> int:
        d = {"0":0,"1":0}
        for i in s:
            d[i] += 1
        res = 0
        l,r = {"0":0,"1":0},d
        for v,i in enumerate(s):
            l[i] += 1
            d[i] -= 1
            if v != len(s)-1:
                res = max(res,l["0"]+r["1"])
        return res
                

优化:

class Solution:
    def maxScore(self, s: str) -> int:
        ans,t=0,s.count('1')
        for c in s[:-1]:
            if c=='0':
                t+=1
                ans=max(ans,t)
            else:
                t-=1
                ans=max(ans,t)
        return ans

 

posted @ 2020-04-27 09:58  oldby  阅读(153)  评论(0编辑  收藏  举报