这个难度太高了,我关注一下。。

解决方案 »

  1.   

    是不是要连续的重复出现呀?
    "广告一套广告" 为什么变成 "一套广告" 而不是"广告一套"
      

  2.   

    不好判断吧。都几乎跟分词搜索的技术类似了。首先要分词。不然不好判断是不是重复了。比如
    讲好话比不讲话好=》是否变成-》话好比不讲好?
    还有很多。再想想,LZ这个问题真BT,哈哈:)
      

  3.   

    如果上面那个成立的话,那就顺序读取一个字符,再取判断在余下的字符串里是否存在,存在的话,该字符串就等于剩下的字符串了。
    比如:广告一套广告
    先读到广,再去判断在“告一套广告”是否存在广,有的话,就变成“告一套广告”,然后再抓告。
    不过我觉得按照这种逻辑下来的话,最后剩下的字符串会怪怪的,可能会不符合中国人表达的方式。
    再想
      

  4.   

    词组的话应该至少两个字以上吧,应该是连续出现的重复吧?
    要不然以下两个节目,要去掉一个科学了。
    走近科学
    科学与探索
    先把问题具体话一点,可能还好解决。
      

  5.   

    长度优先的最大概率分词法可以完成你的要求至于“"广告一套广告" 为什么变成 "一套广告" 而不是"广告一套"”
    不是重要的问题,
    保留先出现的就是:广告一套
    保留后出现的就是:一套广告在“广告一套广告”中
    广告 出现2次
    一套 出现1次
    告一、一套、套广 各出现1次
      

  6.   

    必须要分词了,
    目前想到的,先分词,将词组保存成数组,同时包含该词出现的次数n,
    然后循环,将所有词出现次数大于1的进行n-1次的文本替换处理,
      

  7.   

    麻烦的说,要注意效率问题。
      

  8.   

    来个循环通过依次判断就行了嘛,如果这个字符或者词没有出现在结果字符串,把它进行拷过去,如果出现了就继续下一个词或者字符不就行了吗