LeetCode-942-增减字符串匹配

2020-10-24  本文已影响0人  阿凯被注册了
image.png

解题思路:

  1. 遇到I表示下一个值比当前值大,那当前值取候选值中最小的即可;
  2. 遇到D表示下一个值比当前值小,那当前值取剩余值中最大的即可;
  3. 维护双指针start,end表示最小和最大的候选值。

Python3代码:

class Solution:
    def diStringMatch(self, S: str) -> List[int]:
        start,end = 0,len(S)
        res = []
        for s in S:
            if s == 'I':
                res.append(start)
                start+=1
            else:
                res.append(end)
                end-=1
        res.append(start)
        return res
上一篇下一篇

猜你喜欢

热点阅读