Здравствуйте, Dan Dare III, Вы писали:
DDI>13 строчек
DDI>DDI> static bool IsSymmetric(string s)
DDI> {
DDI> // null пусть будет симметричным
DDI> if (s == null)
DDI> return true;
DDI> int length = s.Length;
DDI> // если длинна 1 или 0 значит уже симметрично
DDI> if (length <= 1)
DDI> return true;
DDI> // сюда придет строка длинной 2 и выше
DDI> if (s[0] != s[length - 1])
DDI> return false;
DDI> // оптимизация
DDI> if (length <= 3)
DDI> return true;
DDI> // здесь длинна будет только 4 и выше
DDI> return IsSymmetric(s.Substring(1, length - 2));
DDI> }
DDI>
[Не думал что буду писать по-удаффски, но сдержаться не могу]
АФФТАР, убей себя аб стену!
Этот код в случае симметричной строки работает в 100 раз медленее варианта с Array.Reverse!!!!!!!
DDI>строковые неточности больше всего на перформансе сказываются
Да уж.
DDI>можно, я не люблю трудночитаемый неэффективный код
Этот код гораздо читаемее вариантов в 3 строчки?
DDI>но только если придешь на собеседование а то
DDI>не хочу что бы ты как ромашка поступил
Нет уж, не надо. У меня есть работа, и на собеседовании никто не заставлял меня на бумаге писать рекурсию (кстати очень тяжелое занятие, потому что на бумаге пошаговая отладка не работает)
DDI>задача много чего о человеке рассказывает, очень много
Мне о вас очень много эти 13 строчек рассказли.
Кстати у вас еще две попытки есть