List<int> list = new List<int>() { 1, 2,0, 3, 0, 5, 6 };里面的数字代表所在线路的座位数  现在要预定票   尽可能的连段预定第一段和第二段连着 定一张   第二段还有一个 单独来定

解决方案 »

  1.   

    楼主的意思是连续的座位购买一张票,最终需要统计总票数吧。 class Program
        {
            public static int tickCount(List<int> list)
            {
                int[] array = list.ToArray();
                int sum = 0;//订票总数
                bool isDiscontinuous = true;//不连续的标志
                int i = 0;//遍历标志
                do
                {
                    if (i > 0 && array[i] == array[i - 1] + 1)
                        isDiscontinuous = false;
                    else
                        isDiscontinuous = true;                if (isDiscontinuous)
                    {
                        sum++;
                        isDiscontinuous = false;
                    }
                    i++;            } while (i < array.Length);
                return sum;
            }        static void Main(string[] args)
            {
                List<int> list = new List<int>() { 1, 2, 0, 3, 0, 5, 6 };
                int result = tickCount(list);
                Console.WriteLine(result);            Console.ReadKey();
            }
        }