这种用数组不是很好处理,你只有先用一个arraylist来接受数据,然后在生成一个新的数组!

解决方案 »

  1.   

    1,项的长度是否固定?
    若固定可以简化算法,提高速度
    2,string用于字符串处理的方法有很多,查找子串,比较等等都可以用
    3,如果都是数字,且提前把数组一和数组二排序
    可以简化算法提高速度不大明白你说的难度是什么
      

  2.   

    for jackie615(亞馬遜)★(東大傳說):
    ================================================
    前半部分   什么意思啊?   1/2 ?  
    ================================================
    比如说:001001002 的前半部分有 0,00,001,0010,00100,001001依次类推
    for silverfish(鱼姐姐) :==================================================
    1,项的长度是否固定?
    若固定可以简化算法,提高速度
    2,string用于字符串处理的方法有很多,查找子串,比较等等都可以用
    3,如果都是数字,且提前把数组一和数组二排序
    可以简化算法提高速度不大明白你说的难度是什么
    =================================================
    1.长度不固定
    2.这个我知道,主要是怎么处理算法的问题
    3.不是数字
      

  3.   

    private string[] GetNewArray(string[] sa1,string[] sa2)
    {
    ArrayList al = new ArrayList();
    for(int i = 0 ; i < sa2.Length ; i++)
    {
    for(int j = 0 ; j < sa1.Length ; j++)
    {
    if(sa2[i] == sa1[j])
    {
    al.Add(sa2[i]);
    break;
    }
    else if(sa2[i].Length  > sa1[j].Length && sa2[i].Substring(0,sa1[j].Length) == sa1[j])
    {
    al.Add(sa2[i]);
    break;
    }
    else if(sa2[i].Length  < sa1[j].Length && sa1[j].Substring(0,sa2[i].Length) == sa2[i])
    {
    al.Add(sa2[i]);
    break;
    }
    }
    }
    string[] sa3 = new string[al.Count];
    for(int k = 0 ; k < al.Count ; k++)
    {
    sa3[k] = al[k].ToString();
    }
    return sa3;
    }
      

  4.   

    先分析题意:
    数组项的数据类型为字符串。
    比较方法我理解为,将两个字符串变成等长的字符串,方法是将较长的字符串的尾部去掉。如果相等的话保留。string[] a1 = new string[]{ "001", "001001", "002", "003001" };
    string[] a2 = new string[]{ "001", "001001", "001002", "001001001", "002", "002001", "002002", "003", "003001", "003002" };
    ArrayList a3 = new ArrayList();
    foreach( string s in a2 )
    {
      bool b = false; 
      foreach( string s1 in a1 )
      {
        try
        {
          if( s == s1.Substring( 0, s.Length ) || s1 == s.Substring( 0, s1.Length ) )
          {
            b = true;
            continue;
          }
        }
        catch
        {
        }
      }
      if( b )
      {
        a3.Add( s );
        Console.Write( s + "\r\n" );
      }
    }  
    001
    001001
    002
    003
    003001
      

  5.   


    请Jinniu(金牛) 兄到这里结余下的100分
    http://community.csdn.net/Expert/TopicView.asp?id=3174253
      

  6.   

    hhhh63(hhhh63)、Jinniu(金牛) 兄都对了
    一人一百分吧,请两位到这里结余下的分
    http://community.csdn.net/Expert/TopicView.asp?id=3174253