所以我有这个问题在C:找到许多子数组的开始和结束的算法?
给定一个只包含0和1的数组(例如:[1,1,0,0,0,0,1,0,1,0,1,1]
)。 我需要找到一个“振铃间隔”的开始和相同的“振铃间隔”的完成(可能有许多这样的环,我们必须将每个的开始和结束存储在2的矩阵中列)
“沉默”是至少有两个0彼此相邻时。 (在给定的阵列中,子阵列[0,0,0,0]
是无声的
“环间隔”是当没有发生沉默时(例如在给定的阵列中,子阵列[1,1]
(前2个值))和子阵列[1,0,1,0,1,1]
(数组的结束))。
所以我们必须存储[0,1]
矩阵的第一排。 然后[6,11]
。由于第二子阵列启动第六届指数,并在11结束。
我似乎无法更好地描述它,它的语言不同,而且比这更复杂..我希望你nderstand!
例子: 阵列= [0,0,0,0,1,0,1,1,1,0,0,0,1,0,0]
矩阵将是:[4,8] [12,12]
阵列= [1,0,0,1,1]
矩阵将是:[0,0] [3,4]
谢谢!
到目前为止您尝试过什么?为什么在第一个例子中不是子阵列“[1,1,0]”环?它不包含任何连续的零。 – kraskevich
'[1,1,0]'不是一个环,因为0后跟另一个0.在[[1,1]'之后有沉默。 –
什么阻止你自己编码?现在,它似乎有点“给代码给我”。 –