重复字符的最长子串

时间:2016-04-21 18:58:18

标签: string matlab

我有一个学校的作业,给定一个完全为0和1的输入字符串,我必须返回重复1的最长子串的长度。我不被允许使用我无法充实我的想法。 到目前为止,我已经找到了输入字符串的长度,并将输入字符串转换为uint8。这样我就可以使用find找到那些索引。我的下一个想法是做一些for循环来存储索引,或者可能检查每个子集的长度并且只保存最长的一个?但是我不确定如何解决这个问题,或者这是否是考虑它的正确方法。任何指导都表示赞赏。

1 个答案:

答案 0 :(得分:1)

您可以使用正则表达式:

   [s,e] = regexp(inputString,'(.)((??$1*))');

如果要查找任何字符的最长子字符串,请使用以下动态正则表达式,其中包含:"取一个字符。尽可能多地匹配这个角色"

inputString(s)

{{1}}返回每个子字符串的第一个元素。