[Programming Fundamentals] 18. Lists - Lab: 07. Count Numbers
Понеже тук има много варианти за алгоритъм за решаване, се чудя кой е най-рационалният? Според вас?
Моят вариант:
var input = Console.ReadLine()
.Split(new char[] { ' ' }, StringSplitOptions.RemoveEmptyEntries)
.Select(int.Parse)
.ToList();
input.Sort();
input.Add(0); //adding one last unimportant element in the List
//because the used algorithm is not counting the last element
var count = 1;
for (int i = 0; i < input.Count - 1; i++)
{
if (input[i] == input[i + 1])
{
count++;
}
else
{
Console.WriteLine($"{input[i]} -> {count}");
count = 1;
}
}
Paste-ни варианта с Dictionary, ако го имаш.
Аз доколкото схващам начина с Dictionary е като с Array[0..1001], но ще работи за всякакви числа, което е ок, но май със .Sort пак го прави работещ за реални числа.
https://pastebin.com/TtkQKieW
OrderBy и Sort работят и с отрицателни числа