Софтуерно Инженерство
Loading...
+ Нов въпрос
yordank avatar yordank 93 Точки
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 avatar YavorSpassov 133 Точки

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

0
AlexHristov avatar AlexHristov 20 Точки

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

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

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

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

0
YavorSpassov avatar YavorSpassov 133 Точки

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

0
AlexHristov avatar AlexHristov 20 Точки

 

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

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

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

1