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 男生打球祝福语简短霸气
18 新年过后奋斗祝福语简短