我们有一个输入字符串,例如“456,678,4599,87567” 需要找到逗号分隔数字的平均值大于数字x的数字的数量。 这是我解决这个问题的工作程序。想知道是否有人可以建议更优化的代码或更好的方法解决这个问题。我使用c#代码
public static int test(string i2,int limit)
{
int count=0;
int i;
int len = 0;
Int32 sum;
char[] tm={'{','}'};
i2 = i2.Trim(tm);
string[] w = i2.Split(',');
len = w.Length;
while (len-- > 0)
{
i=0;
sum = 0;
while (i < w[len].Length)
{
sum += w[len][i] - '0';
i++;
}
if (sum / i >= limit)
count++;
}
return count;
}
答案 0 :(得分:1)
您可以使用LINQ:
var result = input.Trim('{', '}')
.Split(',')
.Count(num => num.Average(ch => ch - '0') >= limit);