110,533
社区成员
发帖
与我相关
我的任务
分享
string s = "1,-2,-3,0,1,2,3,4,-5,-2,2,4,6,8,-3,2,6,12,4";
s = ("," + s).Split(',').Aggregate((n, m) =>
{
return (m[0] == '-' || m[0] == '0') ? n + "|" : n + "," + m;
});
string[] sArr = s.Split('|').Where(p => p.Length > 0).Select(p => p.Remove(0, 1)).ToArray();
int[] arr = { 1, -1, -2, -3, 0, 1, 2, 3, 4, -5, -2, 2, 4, 6, 8, -3, 2, 6, 12, 4 };
int prevIndex = -1;
for (int i = 0; i <= arr.Length; i++)
{
var v = i == arr.Length ? -1 : arr[i];
if (v <= 0)
{
if (prevIndex >= 0)
{
Console.WriteLine(string.Join(",", arr.Skip(prevIndex).Take(i - prevIndex)));
prevIndex = -1;
}
}
else if (prevIndex < 0)
{
prevIndex = i;
}
}
还加了一段