Loading...
alecc avatar alecc 12 Точки

Problem 7.***Magic exchangeable words from Homework: Text Processing and Regex API

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


Write a method that takes as input two strings of equal length, and returns Boolean if they are exchangеable 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 bb corresponds to oo, but second bb corresponds to zz)

Тагове:
0
Java Advanced
milena.sapunova avatar milena.sapunova 18 Точки

Трябва да провериш двете думи дали са exchangeable (връща true)  или не (връща false).

Тези двете са exchangeable:
e  =  a
g  =  d
g  =  d

Тези двете не са:

a  =  n
a  =  n
b  =  o
b  =  o
c  =  p
c  =  p
b  =  z  (има конфликт, защото по рано в думата b = o, тук обаче е z) -> връща false

Трябва да сравняваш стринговете буква по буква. Аз лично използвах HashMap, за да я реша.

Тук можеш да видиш моето решение:
http://pastebin.com/f6Yq1uDS

2
a_dimitrov avatar a_dimitrov 20 Точки

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

0
kaloyannikov avatar kaloyannikov 531 Точки

примерно имаш string aab - oov те са magic exchangable защото аа отгаваря на оо и b na v 

друг пример имаш aаb - obv а отговаря на о , и всяко а след това трябва да се асоциира с друго о , a втория char e b и не са magic exchangable. 

Не знам дали успях да го обясня като хората :D

решение

1
01/04/2016 16:33:17
a_dimitrov avatar a_dimitrov 20 Точки

Да, благодаря...ще я мъча сега задачата :-)

0
Ivailo_Kodov avatar Ivailo_Kodov 97 Точки

В условието си пише, че двете думи са с еднаква дължина, така че в решението може да се избегне.. Отделно си мисля, че вкарването на думите в масив от чарове е излишно, тъй като то си имаш достъп до тях и през  .chartAt() .. качвам и мойто решение, защото уж работи ама ми се струва много кратко  :D , та чак съмнително дали не работи по случайност :D  https://github.com/IvayloKodov/Softuni-Homeworks/blob/master/JavaTextAndRegex/P7_MagicExchangeableWords.java

1
kaloyannikov avatar kaloyannikov 531 Точки

той стринга си е масив от чарове и аз не виждам смисъл да се прави отделен char [].

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

Тази задачка наистина е интересна.

За решението и подходих по следния начин:

Вземам първата и втората дума и пълня LinkedHashSet<Character>, така си вземам уникалните елементи в реда в който са подадени.

След което проверявам дължините на двата сета дали са еднакви.

Прилагам кода:

ЛИНК

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