Python中的DI字符串匹配
假设我们有一个仅包含“I”(表示增加)或“D”(表示减少)的字符串S,令N=S的大小。我们必须返回[0,1,...,N]使得对于范围0,...,N-1中的所有i-
如果S[i]为“I”,则A[i]<A[i+1]
否则,当S[i]为“D”时,则A[i]>A[i+1]
因此,如果输入类似于“IDID”,则输出将为[0,4,1,3,2]
为了解决这个问题,我们将遵循以下步骤-
A:=从0到N的列表,其中N是S的大小。
res=空白列表
对于S中的每个元素j
如果j是I,则从A中删除最后一个元素并插入res
否则,删除A的第一个元素并插入res
返回资源
让我们看下面的实现以更好地理解-
示例
class Solution:
def diStringMatch(self, S):
A=[i for i in range(len(S)+1)]
return [A.pop((j=='I')-1) for j in S]+A
ob = Solution()print(ob.diStringMatch("IDID"))输入值
"IDID"
输出结果
[0, 4, 1, 3, 2]
热门推荐
10 儿子立冬祝福语简短独特
11 对当兵的祝福语简短
12 侄儿高考试祝福语简短
13 伴郎红包祝福语朋友简短
14 媳妇生日简短祝福语朋友
15 公司年会祝福语简短最好
16 元旦感恩祝福语简短大全
17 红包祝福语简短10字
18 周六早晨祝福语简短