Loading...
v.bonapartov avatar v.bonapartov 18 Точки

[Programming Fundamentals] Strings and Regular Expressions: 3. Karate Strings

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

Някой може ли да помогне със задачата Karate Strings?
С това, което успях да направя като логика дадените примери ги отработвам коректно, но в judge 2 теста не минават.
https://pastebin.com/n0cr2quG

Поздрави,
Веско

Тагове:
0
Programming Fundamentals 12/10/2017 14:29:41
NikolayPopov avatar NikolayPopov 253 Точки
Best Answer

Ето на първо лице моето решение, защото е доста по-кратко.

https://pastebin.com/LDcfpnX8

0
12/10/2017 15:25:43
v.bonapartov avatar v.bonapartov 18 Точки

Определено и много добре написано.

Благодаря ти!

0
NikolayPopov avatar NikolayPopov 253 Точки

Не съм сигурен дали е добре написано защото мисля че е лоша практика да си променяш i-то, но е по-лесно така. Ако дадеш i = -1; почва от начало цикъла да речем. 

0
v.bonapartov avatar v.bonapartov 18 Точки

Прав си за това, че не трябва i да се променя в тялото на цикъла.
Лесно може да се избегне с още една променлива, но не мисля, че е толкова важно в конкретния случай.
Кода е достатъчно четим и ясен.

 

0
nika_29 avatar nika_29 5 Точки

Здравей.Имам въпрос,защото ни ми стана ясно.Защо е нужна проверка дали length>0 смисъл да не е,ако е отрицателно да не излиза?И последно да питам защо трябва да се намали  i-- и length--?

                else
                {
                    if (length > 0)
                    {
                        chars.RemoveAt(i);
                        i--;
                        length--;
                    }
                }

0
NikolayPopov avatar NikolayPopov 253 Точки

Lenght-a държи колко char-a трябва да се изтрият, ако е 0, не трябва да се трият char-ове, ако е повече от 0 изтриваш един char и следователно намляш lenght-a с едно, защото си изтрил чар. i-- e защото ако са на i = 8, и изтриеш 8-мия, искаш пак да си на i = 8, защото там ще се намира бившия 9-ти елемент, който ти трябва.

0
nika_29 avatar nika_29 5 Точки

Мерси много за обяснението.

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