现在有一些字符串(可能很多),长度都是18位,且毎一位字符都是由字母表的26个字母中的一个组成.毎一位的字符可能重复.如字符串:abcdefgaatdsvdfuds ,cdcafdkjjfkdryfdds 等. 问题如下:用这些字符串中的一条去比较其它所有字符串,然后取另外一条继续这样比较,直到比较完所有的字符串.在比较毎一条时是这样比较的:毎一位上的字符跟另一条同一位上的字条比较,如果相同就加1(大小写不区分),如此把对应为位上的字符比较完就比较完一条字符串.把相同的字符数记为N,上面的两条字符相同数为:
    abcdefgaatdsvdfuds
        cdcafdkjjfkdryfdds   N=4.第三位中的C,第十五位中的f及第十七,十八位d,s相同.
如此把这条字符串跟其它所有字符串比较完.找出相同字符数为N的字符串有多少条.相同的字符串数记为M. 现在我自己设置定这N的范围,如3<=N<=9 把相同数在这范围的字符串数M是否符合我自己设置的范围,如1000<=M<=5000 .如符合这范围就保留或者删除这条这符串.现在主要问题是怎么找出符合我设置这N和M范围的字符串.怎么算这N,M大家自由发挥吧.
    声明:因为要比较的字符串很多(上百万,千万的)所以不要用一般的循环(一般的循环我不说你也明白了!),那样会慢如蜗牛!

解决方案 »

  1.   

    那也难解决问题哦http://lysoft.7u7.net
      

  2.   

    光求所有的N就要o(n!)复杂度,n>100万的时候现实吗?
      

  3.   

    to:warmworm(warmworm)
       你说的是比较有创意,这我也想过,但维数太多,我不好想像.或者你能具体做一下给我看看好吗!?
    to: ppayun(~云彩) 
       数据挖掘我真的还没接触过呢.不知怎么样的
      

  4.   

    to:zzlingaaa(小舟)
         呵呵,不信你自己随机做些数据来试试!