using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Collections;
namespace ListReturn
{
/*偶尔看到的题目
* Made By Anby
* 我希望写一个方法,传入一个List<int>对象,然后处理返回一个string类型的值!
* 只要流程是:假设传入的List<int>对象里面的值有{1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18},则返回出的string为"1-18周",
* 如果传入的List<int>对象里面的值有{1,2,3,4,5,7,8,9,10,11,15,16,17,18},则返回出的string为"1-5,7-11,15-18周"
*/
class Program
{
static void Main(string[] args)
{
List<int> week=new List<int>();
week.Add(1);
week.Add(2);
week.Add(3);
week.Add(4);
//week.Add(5);
week.Add(6);
week.Add(7);
week.Add(8);
//week.Add(9);
week.Add(10);
week.Add(11);
week.Add(12);
week.Add(13);
week.Add(14);
week.Sort();
RT(week);
Console.ReadLine();
}
static string Str = "";
static void RT(List<int> week)
{
ArrayList Result = new ArrayList();
for (int i = 1; i < week.Count; i++)
{
if (week[1] - week[0] == 1)
Result.Add(week[0]);
if (week[i] - week[i-1] == 1)
{
Result.Add(week[i]);
if (i == week.Count - 1)
{
Str += Result[0] + "-" + Result[Result.Count-1] + "周,";
Result.Clear();
}
}
else
{
if (Result.Count > 0)
{
Str += Result[0] + "-" + Result[Result.Count-1] + "周,";
Result.Clear();
}
else
{
Str += Result[0] + "周";
Result.Clear();
}
}
}
Console.WriteLine(Str);
}
}
}