Loading...
ivanstst avatar ivanstst 2 Точки

C# Advanced HashSet & Dictionary problem Number: 3 Periodic Table

Здравейте, имам нужда от помощ. Хващам 40 точки в judge  но поради някаква причина в хешсета се съдържат дуплицирани стойности.Линк към pastebin:  http://pastebin.com/mpGwYSsH. Благодаря предварително за помощта.

Тагове:
0
C# Advanced 07/06/2016 14:37:53
kaloyannikov avatar kaloyannikov 531 Точки

Повтарят се защото ти принтираш вътре в for цикъла а трябва да е извън него. Също така няма смисъл да правиш проверка дали се contain-ва тъй като самия set се ползва точно за да пази уникални стойности. 

1
DonchoPatronski avatar DonchoPatronski 35 Точки

Както е казал kaloyannikov. Освен това правиш ненужни операции при Split и при Add(). Виж моето решение.
         var sortedSet = new SortedSet<string>();

            int n = int.Parse(Console.ReadLine());

            for (int i = 0; i < n; i++)
            {
                string[] line = Console.ReadLine().Split(' ');
                foreach (var item in line)
                {
                    sortedSet.Add(item);
                }
            }

            foreach (var item in sortedSet)
            {
                Console.Write($"{item} ");
            }

1
07/06/2016 20:02:14
ivanstst avatar ivanstst 2 Точки

 Благодаря за помощта.

0
AlucardDracula avatar AlucardDracula 416 Точки

искам и да добавя нещо интересно за SortedSet и HashSet-a

това решение с HashSet : 

а това с SortedSet : 

въпреки с HashSet използвам LINQ за да ги подредя по ascending, все още остава по-бърз от SortedSet и то с цели 0.080с

1
Можем ли да използваме бисквитки?
Ние използваме бисквитки и подобни технологии, за да предоставим нашите услуги. Можете да се съгласите с всички или част от тях.
Назад
Функционални
Използваме бисквитки и подобни технологии, за да предоставим нашите услуги. Използваме „сесийни“ бисквитки, за да Ви идентифицираме временно. Те се пазят само по време на активната употреба на услугите ни. След излизане от приложението, затваряне на браузъра или мобилното устройство, данните се трият. Използваме бисквитки, за да предоставим опцията „Запомни Ме“, която Ви позволява да използвате нашите услуги без да предоставяте потребителско име и парола. Допълнително е възможно да използваме бисквитки за да съхраняваме различни малки настройки, като избор на езика, позиции на менюта и персонализирано съдържание. Използваме бисквитки и за измерване на маркетинговите ни усилия.
Рекламни
Използваме бисквитки, за да измерваме маркетинг ефективността ни, броене на посещения, както и за проследяването дали дадено електронно писмо е било отворено.