c#的算法题(使用string.split显示每个数字)
Algorithm question for c# (displaying every number of digits using string.split)
假设我们有 1 到 20 的整数。我必须打印出如下内容:
Number of 1: 13
Number of 2: 5
Number of 3: 5
.
.
Number of 9: 2
我使用了string.split方法like this。
我如何使用整数数组实现它并继续使用 for 循环?或者有什么更好的方法可以解决这个问题?
is there any better way to solve this?
是的,有更好的方法可以实现您想要实现的目标。
这是我的尝试:
我建议使用 Dictionary<int, int>
来存储整数及其与数字的计数。
var result = Enumerable.Range(1, 20) //Iterate from 1 to 20
.SelectMany(x => x.ToString()) //create an array from [1..20]
.GroupBy(x => x) //Group by element, so that you will get count
.ToDictionary(x => x.Key, x => x.Count()); //Store it in dictionary
foreach(var item in result)
Console.WriteLine($"Number of {item.Key} : {item.Value}");
假设我们有 1 到 20 的整数。我必须打印出如下内容:
Number of 1: 13
Number of 2: 5
Number of 3: 5
.
.
Number of 9: 2
我使用了string.split方法like this。
我如何使用整数数组实现它并继续使用 for 循环?或者有什么更好的方法可以解决这个问题?
is there any better way to solve this?
是的,有更好的方法可以实现您想要实现的目标。
这是我的尝试:
我建议使用 Dictionary<int, int>
来存储整数及其与数字的计数。
var result = Enumerable.Range(1, 20) //Iterate from 1 to 20
.SelectMany(x => x.ToString()) //create an array from [1..20]
.GroupBy(x => x) //Group by element, so that you will get count
.ToDictionary(x => x.Key, x => x.Count()); //Store it in dictionary
foreach(var item in result)
Console.WriteLine($"Number of {item.Key} : {item.Value}");