Loading...
NonaG avatar NonaG 111 Точки

05. Magic exchangeable words от Strings and RegEx - Exercise

От няколко часа мъча всякакви варианти, максимално усложних условията, само и само да не изпусна някакъв случай, но повече от 60 т. не можах да направя. Това е решението ми: http://pastebin.com/TdpmfXdp

Условието е: Write a method that takes as input two strings, and returns Boolean if they are exchangeable or not. Exchangeable are words where the characters in the first string can be replaced to get the second string. Example: "egg" and "add" are exchangeable, but "aabbccbb" and "nnooppzz" are not. (First 'b' corresponds to 'o', but then it also corresponds to 'z'). The two words may not have the same length, if such is the case they are exchangeable only if the longer one doesn't have more types of characters then the shorter one ("Clint" and "Eastwaat" are exchangeable because 'a' and 't' are already mapped as 'l' and 'n', but "Clint" and "Eastwood" aren't exchangeable because 'o' and 'd' are not contained in "Clint").

Тази задача я намерих решена във форума, но за Java. Доколкото разбирам, условието й е било без частта за различна дължина на думите и съответно вариант пак за true, така че не можах да разбера кой случай пропускам. Интересното е, че когато променя кода, за да работи при някои от тези варианти:

Clint Eastwaat       /     gosho hapka    /   aabbaa ddeedd

Eastwaat Clint     /    foo bar   /   bar foo

се променят и верните и грешните тестове в judge.Този код, който съм качила, е с верни  три първи теста. Ако закоментирам някой от if-овете, някои от грешните тестове стават верни и обратно. Т.е. реално имам правилни решения за всеки тест, но не в един код... smiley

Та, моля за работещо 100-процентово решение, аз ще си намеря пропуска на неговата база /ако е на C#, други езици не мога да чета и анализирам.../

 

 

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