Loading...
yordank avatar yordank 89 Точки
Best Answer

Според мен,един възможен начин да се подкара кода

1. На ред 36,това е частта за сортиране на държавите

 

populations.OrderByDescending(x => x.Key)

прави подредба по имената на държавите в намаляващ ред,а не по техния брой население

 

populations.OrderByDescending(x=>x.Value.Sum(y=>y.Value))

А вече това би трябвало да направи подредба по сумата от населението на градове в съответни държави

(както е изчислено и отпечатано вътре във foreach-a)

 

2.На ред 40,т.е частта за сортиране на градовете

 

state.Value.Select(x => $"{x.Key}: {x.Value}\r\n").OrderByDescending(x=>x))

тази част първо селектва и след това подрежда,но по това което е на предишната стъпка

 

Просто трябва да се разменят местата и да стане

state.Value.OrderByDescending(x=>x.Value).Select(x => $"{x.Key}: {x.Value}\r\n")

 

3.Също така в тази задача, може да има и вход за един град няколко пъти,например

 

 Rome|Italy|3

 Rome|Italy|4

report

 

Това може да се разбере,защото дава Грешка по време на изпълнение.

и в случая новото население трябва да се прибави към старото за съответния град,т.е този случай трябва да се разгледа при входа

 

4.Понеже има събиране и заради ограничението

  • The population count of each city will be an integer in the range [0 … 2 000 000 000]

Може да се получи препълване на int и съoтветно грешни резултати.Това може да се разбере,защото все още judje не дава 100 точки

Трябва да се замени int с long

 

http://pastebin.com/Ajv3JP99

1
09/10/2016 22:09:13
YavorSpassov+deleted! avatar YavorSpassov+deleted! 133 Точки

Няма ли наоколо някой експерт по сортирането, който едновременно с това да е и запален колекционер на най-добри отговори?

0
AlexHristov avatar AlexHristov 20 Точки

Колега, интересувам се от същия проблем. Вижда ми се ключов и ми се ще да присъства във форума по-детайлно обяснение за сортирането на "Nested Dictionaries". Lambda улеснява процеса на сортиране и ще е от полза да я разберем и нея по-добре, като се научим да я използваме при разнообрази случаи на сортиране.

Надявам се, че някой колега би отделил време за тази тема. Особено добре ще се отрази разяснението на студент, който наскоро е разкрил "тайната" на сортирането и е нетърпелив да я сподели с нас. Мисля, че обясненията на хора, които си играят с лекота с кода понякога не са достатъчно ясни.

Тази задача ми се вижда много интересна по отношение на сортирането и ми се иска някой детайлно да обясни сортирането и принтирането на резултата.

Ако Вие, колега имате напредък при тази задача, моля драснете малко обяснение за нас, останалите. Вероятно много хора срещат трудности при сортирането на "Nested Dictionaries".

0
YavorSpassov+deleted! avatar YavorSpassov+deleted! 133 Точки

В курса са доста задачите, които се решават с речници и сортиране, колега. За мен бе много полезно това разяснение на Петър Пенев.

0
AlexHristov avatar AlexHristov 20 Точки

 

Благодаря за отговора,

Да, да колега, безпорно това е добър източник, но там не е засегната настоящата задача Population Counter, която внася едни други нюанси при сортирането и принтирането. В този смисъл, обясненията във видеото не са достатъчни - поне за мен със сигурност. (Доста подробно разнищвам това видео!)

Затова именно тази задача - Population Counter, за мен е ключова - като, че ли при сортирането и принтирането изисква по-добро боравене със елементите на вложения речник. То в крайна сметка целта е да работим напълно свободно при сортирането и да имаме незамъглена представа за това как да извличаме елементи от вътрешния речник.

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