日期:2014-05-18  浏览次数:20940 次

数组问题哈,帮帮忙
//问题一,去掉数组中重复的项
 string[] s=new sting[n];
 s[1]="你好";
 s[2]="你好";
 s[3]="北京";
 s[4]="奥运会";
 s[5]="盖茨来看奥运会";
 s[6]="北京";
 ......
 s[n]="...";
/*
 如何把这个数组变成没有重复项的一个新数组 s2 

*/
//问题二,如何替换一次? 第一次匹配的替换,其它的不替换.
//如:
 string str="北京sssssssss你好sssss你好bbbbbb你好ccccccc";
/*
 对这个字符串替换,
 就替换第一个匹配的字符串..
 如就替换第一个" 你好" 换成 "hello" 后面的"你好"不用换

*/




------解决方案--------------------
2个循环嵌套就行了,22比较

注意数组索引从0开始
------解决方案--------------------
foreach
------解决方案--------------------

Random rdm=new Random

ArrayList mylist = new ArrayList();
if (!mylist.Contains(s))
mylist.Add(s)

在循环打出来数组
------解决方案--------------------
foreach
------解决方案--------------------
C# code

private string[] Question1(string[] array)
{
    List<string> list = new List<string>();
    foreach(strign s in array)
    {
        if(!list.Contains(s))
           list.Add(s);
    }
    return list.ToArray();
}

private string Question2(string str, string beReplace, string replace)
{
     int index = str.IndexOf(beReplace);
     int length = beReplace.Length;
     return str.Substring(0, index) + replace + str.Substring(index + length, str.Length - index - length);

}

------解决方案--------------------
基本的算法问题,应该自己多想一下。