Loading...
Rextor92 avatar Rextor92 149 Точки

Направили сте си задачата значително по-трудна, от колкото всъщност е. Не е необходимо да се използва речник! Практически условието се свежда до следното: всеки символ от първата дума да може да бъде мапнат на символ от втората. Решението е на 4 реда:
 

      string[] inputArray = Console.ReadLine().Trim().Split();
      HashSet<char> firstWord = new HashSet<char>(inputArray[0]);
      HashSet<char> secondWord = new HashSet<char>(inputArray[1]);
      Console.WriteLine( (firstWord.Count == secondWord.Count) ? "true" : "false" );

 

5
aruseva avatar aruseva 29 Точки

Ако двата стринга са ти  : acbc и deef  -> в твоя случай вади true, не трябва ли да е false?

2
kaloyannikov avatar kaloyannikov 531 Точки

false трябва да е , c се мапва с e и после b няма как да се мапне с e , и c вече е мапното с  е няма как да се мапне с f, идеята му е готина ,но за такива гранични случаи не работи .

0
aruseva avatar aruseva 29 Точки

Затова ни е нужен речник ;)

1
Rextor92 avatar Rextor92 149 Точки

Хм, става дума за тълкование на условието. Аз лично не бях го приел като задължение да спазвам и подредбата на вече мапнатите символи.. Няма тест, който да гърми; съмнявам се от софтуни да са пропуснали тази възможност в тестовете?

0
kaloyannikov avatar kaloyannikov 531 Точки

точно при тоя пример acbc и deef сетовете ще са [acb] и [def] равни са по дължина и според твоето решение трябва да изкара true ,  но по условието на задачата не. Просто не е измислен такъв тест 

0
aruseva avatar aruseva 29 Точки

И ние можем да измисляме засукани тестове :) :) :) 

0
prohause avatar prohause 356 Точки

За пореден път колегите от софтуни показват че не знаят как да пишат условията на задачите. Написах програмата с Dictionary и ми гърми точно на 1 и 2 тест. Обаче с решението на колегата ми дава 100 точки което показва, че се иска само уникалните символи в двата stringa да са равни.

Ето го и оригиналното ми решение: http://pastebin.com/8JgHLhC2

0
13/06/2016 16:46:48
awesomeo avatar awesomeo 20 Точки

Проблемът с първи и втори тест са случаите, в които се опитваме да мапнем 2 различни char-a към една и съща стойност - ab aa. Това по условие трябва да е false, но ако имаме просто решение с дикшънари, което проверява дали в него има ключ и ако няма добавя стойност, резулататът ще е true. Нужна е и проверка дали дикшънарито вече не съдържа стойността. За да добавяме нови неща в него трябва да няма нито ключа, нито стойността, с които работим.

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