实现足够大List剔除重复的数字

static void Screen()
    {
        List<int> newList=new List<int>();
        List<int> list =new List<int>();
        for (int i = 1; i < 100000; i++)
        {
            list.Add(i%100);
        }
        int repetition = 0;
        DateTime ts = System.DateTime.Now;
        list.Sort();
        int max = list.Count;
        int _temp = list[0];
        for (int i = 1; i < max; i++)
        {
            if (_temp.Equals(list[i]))
            {
                repetition++;
                continue;
            }
            newList.Add(_temp);
            _temp = list[i];
        }
        //添加最后一条
        newList.Add(_temp);
        TimeSpan tSpan = System.DateTime.Now - ts;
        Debug.Log("消耗时间:"+tSpan.Milliseconds);
        Debug.Log("重复:"+repetition);
        Debug.Log("正确个数:"+newList.Count);
    }


消耗时间:90
重复:99899
正确个数:100


实现思路是:

1. 先对这个数据排序。
2. 对比前后两条数据,相同的调过,不同的保留下来






發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章