Loading...

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

kgyorev avatar kgyorev -10 Точки

Задача 1.Bus Stop от Exercises - джъдж проблем

 Това решение според мен е вярно на 100% а дъджа дава 50 точки,

един час си загубих за да разбера какво очаква джъджа и защо ми дава 50точки а не 100,

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

Верно че решението не е добро но е работещо.

    function getInfo() {
        let baseServiceUrl =
                'https://judgetests.firebaseio.com/businfo' ;
        let request = {
            method: 'GET',
            url: baseServiceUrl + '.json'
        };
        $.ajax(request)
                .then(displayStop)
                .catch(displayError);

        function displayStop(busInfo) {
            $("#buses").empty();
            $("#stopName").empty();
           let stopId = $('#stopId').val();
            let sotopIdInfo =busInfo[stopId];
            let buses = sotopIdInfo['buses']
            let name = sotopIdInfo['name'];
            $('#stopName').text(name)
            for(bus in buses){
                $('#buses').append($('<li>').text(`Bus ${bus} arrives in ${buses[bus]} minutes`))

            }
        }
        function displayError(err) {

            $("#buses").empty();
            $('#stopName').text("Error")
         }
    }

Тагове:
1
JavaScript Applications 21/11/2016 13:48:13
vpl2001 avatar vpl2001 54 Точки

И при мен е така - сравних с други колеги, но ми дава 50/100!

0
Tanyo avatar Tanyo 152 Точки

Здравейте, 

Относно задачата на kgyorev,

Първия тест, ако погледнеш входа, може да видиш, че "сървъра" ти проверява заявката и гледа дали в URL-то ти има "ID" на автобуса, ако няма ти връща грешка. 

 let target = request.url.split('/');
        target = target[target.length - 1].split('.')[0];
        expect(target == '1308');

А ти реално правиш заявка и взимаш всички автобуси без точно ID (Това работи, но си представи реален случай с база която ще ти върне 10 20 хиляди обекта.... става доста тежка заявка... и всичко свършва :D )

Изкарай let stopId = $('#stopId').val()  преди заявката към сървъра и си  добави stopId  в url:
Промени си после  let sotopIdInfo =busInfo[stopId] на let sotopIdInfo = busInfo (Това може да се махне и да си взимаш автобусите и името на спирката директно от параметъра който ти приема функцията)
 

1
viktor.pts avatar viktor.pts SoftUni Team Trainer 332 Точки

Прав си, че решението ти работи, дори и да е малко по-неефективно. Опитваме се да поставяме същите ограничения и на сървисите, които даваме за тестване, но това не винаги е възможно с всички продукти и когато заявката трябва да е по-специфична, се споменава в условието. Иначе колегата Tanyo добре е описал какви са съображенията сървъра да не ти дава да вземеш цялата база с една заявка.

0
kgyorev avatar kgyorev -10 Точки

Аз знам къде е "проблема" че взимам всички елементи вместо да взема за конкретния елемент , знам че решението не е добро но е работещо на 100%.

 

0
viktor.pts avatar viktor.pts SoftUni Team Trainer 332 Точки

Обърнах повече внимание на задачата и тестовия сървър вече рефлектира тестовете в джъджа - тегленето на цялата база вече не работи (както би било в реално API). Благодаря за фийдбека.

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