Elite Member
|
沒注意到連續天數的問題...
重構之後...
還是變成整個loop最快...Orz
這個答案跟classspeed網兄是一樣的...
C# code:
double?[] d = { 0, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 0, 0, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 0, 0 };
int limit = 7, keep = 0;
Console.WriteLine("總計天數: {0}\n\r", d.Length);
for (int i = 0; i < d.Length; i++)
{
if (d[i] != 0)
keep++;
else
{
if (keep >= limit)
{
Console.WriteLine("連續工作{0}天, 已達{1}天限制({2}日至{3}日)", keep, limit, i - keep + 1, i);
// do something
//
if (d.Length - (i + 1) < limit)
break;
// end if
} // end if
keep = 0;
} // end if
} // end for
|