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)
И аз нещо не разбирам условието ... не разбирам какво трябва да се сравнява.....сравняваш чарове и какво е условието да са равни и какво е да не са...?
примерно имаш string aab - oov те са magic exchangable защото аа отгаваря на оо и b na v
друг пример имаш aаb - obv а отговаря на о , и всяко а след това трябва да се асоциира с друго о , a втория char e b и не са magic exchangable.
Не знам дали успях да го обясня като хората :D
решение
Да, благодаря...ще я мъча сега задачата :-)
В условието си пише, че двете думи са с еднаква дължина, така че в решението може да се избегне.. Отделно си мисля, че вкарването на думите в масив от чарове е излишно, тъй като то си имаш достъп до тях и през .chartAt() .. качвам и мойто решение, защото уж работи ама ми се струва много кратко :D , та чак съмнително дали не работи по случайност :D https://github.com/IvayloKodov/Softuni-Homeworks/blob/master/JavaTextAndRegex/P7_MagicExchangeableWords.java
той стринга си е масив от чарове и аз не виждам смисъл да се прави отделен char [].
Тази задачка наистина е интересна.
За решението и подходих по следния начин:
Вземам първата и втората дума и пълня LinkedHashSet<Character>, така си вземам уникалните елементи в реда в който са подадени.
След което проверявам дължините на двата сета дали са еднакви.
Прилагам кода:
ЛИНК