Re[21]: C# - как проводить собеседование ?
От: gandjustas Россия http://blog.gandjustas.ru/
Дата: 05.11.07 17:36
Оценка: 5 (1) +1
Здравствуйте, 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 строчек рассказли.

Кстати у вас еще две попытки есть
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.