写分治递归算法,求解这个问题:有一个字符数组,比如aabbbbbc,定义run是连续相同字母组成的字符串,例如这个例子的run分别是aa bbbbb和c一共三个。要求用分治递归求解改字符数组每个run和该字符。还是这个例子,最后应该输出(a,2)(b,5)(c,1)
我的想法是二分法,每次一半一半分,直到分到只剩一个字符,返回(a[i],1),定义一个结构体里面有character和num两个变量,(a[i],1)就对应这两个变量。但是有一个问题当左右两个run的字符相同时需要合并,怎么知道什么时候需要合并呢。还有就是二分法的话返回的可以超过两个吗?比如bbbc,一直分的话返回应该有三个,第一个run是前两个b,第二个run是第三个b 第三个run是c 不知道该怎么做了。求大神帮助啊!!!
分治与递归的一个问题!
- 写回答
- 好问题 0 提建议
- 关注问题
- 邀请回答
-