首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > VB Dotnet >

小弟我有个数组提取的有关问题

2012-08-07 
我有个数组提取的问题问题:有一个数组A(N),该数组由正整数组成,按从小到大的顺序排列,没有重复的数问:怎样

我有个数组提取的问题
问题:
有一个数组A(N),该数组由正整数组成,按从小到大的顺序排列,没有重复的数
问:怎样提取该数组中的一组数,要求该组数是连续的且该组数的成员最多。
请用VB代码写,谢谢。

[解决办法]
给你个c#的,自己优化吧,list为所求

C# code
            int[] arr = new int[] { 1, 2, 3, 5, 6, 7, 8,6,9, 1, 2, 3, 4, 5, 6,4,5 };            List<int> list = new List<int>();            List<int> templist = new List<int>();            templist.Add(arr[0]);            for (int i = 1; i < arr.Length; i++)            {                if (arr[i] - arr[i - 1] == 1)                {                    templist.Add(arr[i]);                    if (i == arr.Length - 1)                    {                        if (templist.Count > list.Count)                        {                            list.Clear();                            list.AddRange(templist);                        }                    }                }                else                {                    if (templist.Count > list.Count)                    {                        list.Clear();                        list.AddRange(templist);                    }                    templist.Clear();                    templist.Add(arr[i]);                }            }
[解决办法]
http://topic.csdn.net/u/20120520/12/a129ae77-2b01-4fe9-8a8e-f296184ceed9.html

你的问题是他问题的特例,你只要最长的,以及差值为1的那个序列。

给出了C#代码,至于VB程序,你留做思考题吧。

热点排行