Расчет количества чисел со средним больше, чем х - PullRequest
1 голос
/ 25 декабря 2011

у нас есть строка ввода, такая как «456,678,4599,87567» нужно найти количество чисел, где среднее число цифры, разделенной запятой, больше, чем число х. Вот моя рабочая программа для этой проблемы. Хотелось бы узнать, может ли кто-нибудь предложить более оптимизированный код или более оптимизированный подход к этой проблеме. Я использую c # code

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;
    }

1 Ответ

1 голос
/ 25 декабря 2011

Вы можете использовать LINQ:

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