我有以下字符串:
1,1,1,0,1,1,2,1,1,1,1,2,1,1,1,0,1,1,0,1,1,1,
0-->rupture
2-->continuity
作为我最终必须具备的解决方案:
注意:我们认为字符串以 0 开头,以 0 结尾 这就是为什么我们在 [0,3] 和 [18,21]
之间的另一个文档之间有一个文档的原因
我正在努力制定这个问题,但我无法想出一个坚实的想法。请告诉我是否清楚。我可以使用什么算法来帮助解决这个问题,我可以使用像树一样的特定数据结构......
谢谢你, 哈尼。
答案 0 :(得分:1)
如果你的字符串是:
1,1,1,0,1,1,2,1,1,1,1,2,1,1,1,0,1,1,0,1,1,1
初始化lastPos = 0, lastType = 0 {lastType = 0 for 0 and 2 for 2}
遍历阵列。您会在0
位置找到下一个3
。由于lastType
等于0
,因此您知道在1s
之间找到了2 zeroes
的序列。做任何事。
Make lastType = 0, lastPos = 3.
继续直到最后。
Order of time complexity: O(n)
Order of space complexity: O(1)