我必须实现一个算法,该算法将两个字符串作为输入,并返回一个包含子字符串变化范围的数组.
比方说,范围定义为
typedef struct _NSRange {
NSUInteger location; // Where the affected substring begins
NSUInteger length; // How long the affected substring is
} NSRange;
例:
string1 = "My cat sometimes likes to eat fish.";
string 2 = "My cat always likes to drink fresh water, and eat fish.";
变化是:
> {7,9}“有时”改为{7,6}“总是”
> {26,0}补充说“喝淡水,”
我需要一个包含按变化分组的子串的数组.在这个例子中,它看起来像这样:
>“我的猫”
>“总是”
>“喜欢”
>“喝淡水,”
>“吃鱼.”
目标是突出显示现有字符串中的这些更改,我必须根据更改将该字符串拆分为子字符串.
在重新发明轮子之前 – 公共领域是否有解决方案?
最佳答案 您基本上尝试实现相当于
diff.如维基百科页面中所述,它使用
longest common subsequence problem算法.