如何对比两个字符串,多的部分描绿,少的部分描红,被修改的地方描蓝?

重生是希望 2016-03-06 10:46:51
例如:
A:如何对比两个字符串,多的部分描绿,少的部分描红,多的部分描蓝
B:做到对比字符串,多的部分描绿,少的部分描红,多的部分描蓝呢?

结果:
...全文
184 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
天际的海浪 2016-03-07
  • 打赏
  • 举报
回复
引用 4 楼 xuzuning 的回复:
识别是很容易的,给你个原理性代码 搞明白了就很简单,自己总是套动动脑筋的
a = "如何对比两个字符串,多的部分描绿,少的部分描红,多的部分描蓝";
b = "做到对比字符串,多的部分描绿,少的部分描红,多的部分描蓝呢?";

x = y = 0;
loop = 2;
while(loop) {
  document.write(a.charAt(x) + '  ' + b.charAt(y) + '<br>');
  if(a.charAt(x) == b.charAt(y)) { x++; y++; continue; }
  if(y < b.length) {
    m = b.indexOf(a.charAt(x), y);
  }else loop--;
  if(x < a.length) {
    n = a.indexOf(b.charAt(y), x);
  }else loop--;
  if(m < 0 && n < 0) { x++; y++; continue; }
  if(m < 0 && n > 0) { x++; continue; }
  if(m > 0 && n < 0) { y++; continue; }
  if(m > n) { y++; continue; }
  if(m < n) { x++; continue; }
}
如 做
何 到
对 对
比 比
两 字
个 字
字 字
符 符
串 串
, ,
多 多
的 的
部 部
分 分
描 描
绿 绿
, ,
少 少
的 的
部 部
分 分
描 描
红 红
, ,
多 多
的 的
部 部
分 分
描 描
蓝 蓝
  呢
  ?
想想问什么打印出这样的结果
没这么简单, 当b中修改的字在a的后面也有时就会出问题 a = "如何对比两个字符串,多的部分描绿,少的部分描红,多的部分描蓝"; b = "做蓝对比字符串,多的部分描绿,少的部分描红,多的部分描蓝呢?";
xuzuning 2016-03-07
  • 打赏
  • 举报
回复
识别是很容易的,给你个原理性代码 搞明白了就很简单,自己总是套动动脑筋的
a = "如何对比两个字符串,多的部分描绿,少的部分描红,多的部分描蓝";
b = "做到对比字符串,多的部分描绿,少的部分描红,多的部分描蓝呢?";

x = y = 0;
loop = 2;
while(loop) {
  document.write(a.charAt(x) + '  ' + b.charAt(y) + '<br>');
  if(a.charAt(x) == b.charAt(y)) { x++; y++; continue; }
  if(y < b.length) {
    m = b.indexOf(a.charAt(x), y);
  }else loop--;
  if(x < a.length) {
    n = a.indexOf(b.charAt(y), x);
  }else loop--;
  if(m < 0 && n < 0) { x++; y++; continue; }
  if(m < 0 && n > 0) { x++; continue; }
  if(m > 0 && n < 0) { y++; continue; }
  if(m > n) { y++; continue; }
  if(m < n) { x++; continue; }
}
如 做
何 到
对 对
比 比
两 字
个 字
字 字
符 符
串 串
, ,
多 多
的 的
部 部
分 分
描 描
绿 绿
, ,
少 少
的 的
部 部
分 分
描 描
红 红
, ,
多 多
的 的
部 部
分 分
描 描
蓝 蓝
  呢
  ?
想想问什么打印出这样的结果
KK3K2005 2016-03-06
  • 打赏
  • 举报
回复
高难度 建议找现成方法
  • 打赏
  • 举报
回复
翻开你上学时学的数据结构或者算法教科书,上面有专门介绍如何计算出字符串的“最短修改”的章节。

87,909

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧