Проблемът е, че с така написания алгоритъм има възможност да пропускаш последен елемент, който е уникален, т.е. не се повтаря. Ако си направиш една булева променлива isLastElementPrinted преди цикъла, сетвайки я на false, може да я промениш на true, ако се влезе в if(i == num.Count - 1). След цикъла проверяваш if(! isLastElementPrinted). Ако се влезе в if-a принтираш последния елемент от масива с count = 1.
Така дава 100 точки :)
Edit: Ето кода с някои промени: http://pastebin.com/q9sPyU2S
Дай линк към условието.
http://pastebin.com/hJ3AnN1J - 100/100 изкарах най - сетне , с 2 брейка я направих :)
п.п РашколНиков, благодаря ти все пак , благодарение на теб се усетих къде греша :)
Моето решение:
List<int> nums = Console.ReadLine().Split().Select(int.Parse).ToList();
List<int> occurances = new List<int>();
for (int i = 0; i < 1000; i++) occurances.Add(0);
foreach (var num in nums) occurances[num]++;
for (int num = 0; num < occurances.Count; num++) if (occurances[num] > 0)
Console.WriteLine(num + " -> " + occurances[num]);
Пичове, ето едно много просто решение:
https://pastebin.com/V72qjEp1
с тизи фикс от Raskolnikov ми дава 83/100, - http://pastebin.com/98T2HDbr
кофти е че не мога да видя входа дето гърми ...
Прегледа ли кода, който съм постнал? Добавил съм някои промени. С тях дава 100 точки.