Loading...
kiko144 avatar kiko144 795 Точки

[Exam Problems] JavaScript Basics - Решения на задачите от примерния изпит от подготовката

Здравейте, колеги ! 

Както обещахме качваме кода от задачите които решихме заедно днес (24.07.2014г.)

01 - CognateWords

02 - Odd-Even-Sequence

03 - MovingLetters

04 - LogsAgreggator

Качваме също така условията, "авторските" решения и тестовете.

Можете да тествате решенията си в  Judge системата!

 

Видеата (от камерата и от компютъра) се обработват в момента и до няколко часа ще са достъпни. Можете да следите темата за линкове към тях!

Сложили сме коментар на задачата, която не можехме да дебъгнем, защото ни свърши времето. Просто единият масив трябваше да се инициализира вътре, в цикъла в който работим с него. (на ред 32 ).

Оставаме на разположение за въпроси относно задачите! 

Поздрави и успех на изпита!

 

Яна и Кико

 

32
JavaScript Fundamentals
Anonymous:
Пробно заключване на темата.
ZvetanIG avatar ZvetanIG 907 Точки

Здравейте колеги,

ето още едно интересно решение на 4 задача с използването на обекти и сортирането им със Array.sort.

Problem 4 – Logs Aggregator

15
sportsman avatar sportsman 137 Точки

Колеги извинявам се ако греша, но мисля, че на 2ра задача не изпълнявате всички тестове(т.е. изпълнявате всички в Judge системата, но не и следния : например solve(['(102)(103)(0)(106)  (107)(108)(109)']);) Т.е. според начина, по който е написана задачата тя трансформира 0-та в 104 и така след това се счита за четно число, а в условието е казано, че 0-та може да се счита и за 2те. Т.е. като приемем, че е нечетно тогава отговора става 5, но така написана задачата, дава 4 :)

5
ZvetanIG avatar ZvetanIG 907 Точки

Да това усложнява задачата. Има две редици: 
(102)(103)(0)
(0)(106)  (107)(108)(109)

Явно не е предвидено като тест в Judge системата, за късмет на явилите се на този изпит. laughing

4
sportsman avatar sportsman 137 Точки

Значи не се бъркам :) Що се отнася до решение на този проблем може да измисля нещо когато имам време.

0
Yordanoff avatar Yordanoff 17 Точки

Най-накрая разбрах какво бъркам в кода си.. Три пъти гледах решението и три пъти седнах да си я решавам сам и резултата от джъджа беше 80/100. Благодаря за уточнението sportsman :)

1
alexxdim94 avatar alexxdim94 33 Точки

Супер! Решението на Logs Aggregator ми помогна адски много! Браво!

1
stoian_kirkov avatar stoian_kirkov 18 Точки

Здравейте, 

Борих се доста със задача 2 от примерните задачи за изпит. Авторското решение не е вярно при следните подадени входни данни:

console.log(solve(["(1) (0) (0) (0) (0) (0)(8)(9)"]));

В този пример реално най-дългата редица е от 7 четни/нечетни члена ((0) (0) (0) (0) (0) (8) (9)). Докато авторското решение връща 6 като резултат.

Съответно и Judge системата не работи правилно. Тъй като дава на авторското решение 100 точки. :D

2
g.stoyanov avatar g.stoyanov 776 Точки
А всъщност верният отговор е 8 - (1) (0) (0) (0) (0) (0)(8)(9) ;)
0
g.stoyanov avatar g.stoyanov 776 Точки

Ето едно просто решение на Longest Odd-Even Sequence.

На видеото колегите пропуснаха този момент когато колега предложи варианта който и на мен ми хрумна веднага, а именно да добавим просто проверка дали едно от двете разглеждани числа е равно на нула! В системата гърмят 5 и последния тест защото са грешни. 5-ия тест инпута му е (1) (0) (0) (0) (0) (0) (0) (1) и отговора трябва да е 8 а в системата е заложен 7. Последния тест е с много голям инпут и не ми се занимаваше да го проверявам на ръка. Решението вади 501 а системата смята че е 500. Желая ви успех на изпита!

1
kiko144 avatar kiko144 795 Точки

Тази задача като цяло си е спорна от сякъде .. В примера, който си дал (1) (0) (0) (0) (0) (0) (0) (1) ако приемем, че винаги след дадено число нулата е противоположна по четност то следва 

(1-нечетно)

(0-четно)

(0-нечетно)

(0-четно)

(0-нечетно)

(0-четно)

(0-нечетно)

(1) - остава 1, което е отново нечетно и за това поредицата спира. Такава е моята логика . Друг тънък момент е в който стигаш до такъв случай и после не е ясно от къде трябва да се проверява, от следващото число или да се започне от предните нули.

Примерно в варианта: (102)(103)(0)(106)  (107)(108)(109) имаш (четно) (нечетно) (0, която в случая я броим за четно) и след това трябва ли да прекъснеш и да броиш от 106 нататък или трябва да прекъснеш и да бориш от 0-та нататък .. ?

1
g.stoyanov avatar g.stoyanov 776 Точки

Както написх малко по нагоре: The special number 0 (zero) is considered odd and even IN THE SAME TIME. Тия условия ще ни изядът времето а и точките. Колко пъти съм губил време и точки като чета през ред :)

2
g.stoyanov avatar g.stoyanov 776 Точки
(1-нечетно) (0-четно/нечетно) (0-четно/нечетно) (0-четно/нечетно) (0-четно/нечетно) (0-четно/нечетно) (0-четно/нечетно) (1-нечетно)
1
minkas_g_d avatar minkas_g_d 17 Точки

Голяма мъка е тази задача 2.Odd-Even Numbers. Решението не изкарва верен отговор и при този вход ['(0) (0) (1) (0) (2) (2)'].

0
g.stoyanov avatar g.stoyanov 776 Точки

При този вход решението което съм пуснал изкарва 5 което е правилно :)

0
minkas_g_d avatar minkas_g_d 17 Точки

Хммм, тук си мисля, че трябва 0-лите да се нагласят според 1-цата, т.е.

['(0) (0) (1) (0) (2) (2)']

['odd', 'even', 'odd', 'even', 'even', 'even'], т.е.

най-дългата поредица да е 4, а не 5.

 

btw сверявах според решението на Кико и Яна, а не по твоето :)

0
milen_vm avatar milen_vm 68 Точки

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

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