计算平均值大于x的数的计数

本文关键字:平均值 大于 计算 | 更新日期: 2023-09-27 18:18:50

我们有一个输入字符串,如"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;
    }

计算平均值大于x的数的计数

您可以使用LINQ:

var result = input.Trim('{', '}')
                  .Split(',')
                  .Count(num => num.Average(ch => ch - '0') >= limit);