Loading...
IskrenPenev avatar IskrenPenev 177 Точки

Аз лично ползвам само сет а не речник/мап; След като обработя данните от входа правя една променлива за максимална заплата и една променлива (стринг) с името на департамента с максималната заплата. Обхождам сета от департаменти и за всеки департамент изчислявам средната заплата (обхождайки всички служители в този департамент). Ако средната заплата в департамента е по голяма от максималната средна заплата, присвоявам стойността й към максималната и задававам името на департамента като департамента с максимална заплата.

Накрая изчиствам листа с служители, така че да останат само тези от департамента с максималната средна заплата, подреждам ги по индивидуална заплата и ги отпечатвам.

Това е решението ми http://pastebin.com/fSh6D9Yz (написано е на C#).

0
fargo avatar fargo 18 Точки

При мен така сработи. Използвах само List<Employee>, но ми гърми 2ри тест(грешка при изпълнение), предполагам заради някое куери, но не успявам да го оправя засега.

 

var groupedByDepartment = employees
                .GroupBy(e => e.department)
                .Select(g => new {Department = g.Key, AvgSalary = g.Average(e => e.Salary)});               

var maxAvgDepartment = groupedByDepartment
                .OrderByDescending(g => g.AvgSalary)
                .Select(g => g.Department)
                .First();

var employeesToPrint = employees
                .Where(e => e.Department== maxAvgDepartment)
                .OrderByDescending(e => e.Salary)
                .ToList();

 

0
IskrenPenev avatar IskrenPenev 177 Точки

На мен също ми гърмеше на вторият тест. Проблемът беше че сплитвах входните данни само по 1 празно място, а явно може да бъдат повече. Поправих го да сплитва по всякакъв whitespace и мина всичко.

1
fargo avatar fargo 18 Точки

Това е бил проблемът, мерси :)

0
vancho avatar vancho 430 Точки

И аз правя отделен map, минава без проблем - http://pastebin.com/4C06BG1S. Но има вариант с findFirst().

-1
21/06/2016 20:12:07
Chobi avatar Chobi 20 Точки

И аз накрая не се сетих за решение без втори Мап. Явно това е най- интуитивния начин :) http://pastebin.com/sQJDUwed

0
supersane avatar supersane 234 Точки

Здравейте колеги, това е моето решение, но ми минават само първите 2 теста и не знам къде е грешката, някой може ли да помогне?

0
Ivanov.Ivan avatar Ivanov.Ivan Trainer 558 Точки

Пробвай с вход Pesho 10.10 Dev Dev 15 и ще разбереш

П.С  15 не е имейл :)

1
kaloyannikov avatar kaloyannikov 531 Точки

 при length == 5 не проверяваш дали input[4] е email или число.

0
supersane avatar supersane 234 Точки

Леле колега, през цялото време мислех, че проблема е в логиката и изобщо нямаше да се сетя за това. Благодаря ти, всички тестове минаха. :)

1
Ivanov.Ivan avatar Ivanov.Ivan Trainer 558 Точки

Заповядай моето решение ... Може да се съкрати, но е трудно четимо :)

ЦЪК

0
kaloyannikov avatar kaloyannikov 531 Точки

то и моето малко като чаршаф се разпъна :D , ама исках да си има getteri и setteri.

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