Вы можете найти самый длинный палиндром с помощью алгоритма Manacher's в O(n)
раз! Его реализацию можно найти здесь здесь и здесь .
Для входа String s = "HYTBCABADEFGHABCDEDCBAGHTFYW1234567887654321ZWETYGDE"
он находит правильный вывод, который является 1234567887654321
.
Моно, прежде всего, записан на и протестирован на openSUSE. Пакеты, которые мы выпускаем, для openSUSE. На самом деле мы выпускаем Изображение VMware openSUSE с новой версией Моно все настроенные и готовые пойти:
http://www.go-mono.com/mono-downloads/download.html
Однако у нас есть великое сообщество людей, которые работают для обеспечения Моно выполнений хорошо, и упаковывается на всех основных дистрибутивах, таких как Fedora и Ubuntu.
Никакое распределение не обычно лучше, чем кто-либо другой. Загрузите живые CD дистрибутивов от сети, выполните их в Вашем VM и используйте тот, который Вы любите лучше всего.
Это не похоже ни на какой дистрибутив, действительно "лучше" для Моно разработки, чем другой, но так как Вы используете VM, я искал бы один с низким использованием ресурсов.
Что-либо основанное на Gnome должно быть полезно для Вас (так как Gnome перемещается в моно). Ubuntu имеет большую тягу, действительно превосходную базу поддержки и поддержку Gnome.
Я сказал бы, что более легким для использования и больше полных (свободных) дистрибутивов является Fedora, Debian и Ubuntu.
Я был пользователем Redhat с тех пор... навсегда. Я переключился на Fedora, когда тот проект запустился (это - просто бесплатная, открытая версия Redhat). Некоторые выпуски облуплены, некоторые очень хорошо, но в среднем у меня были намного менее критические проблемы, чем с другими дистрибутивами, которые я попробовал. Прямо сейчас я использую Fedora 10, и так как мой родительский элемент смог использовать его, я предполагаю, что они сделали реальные успехи в пользовательских интерфейсах и удобстве использования!;)
Я предложил бы, чтобы Вы загрузили предварительно сделанный VM некоторой разновидности. Что касается которого дистрибутива, если это - клиентское приложение, пойдите с Ubuntu. Если это - приложение для сервера, это не имеет значения, поэтому пойдите с Ubuntu.; P
Вот предварительно сделанный VM пользы, который я использовал для тестирования в прошлом: http://www.vmware.com/appliances/directory/95733
The easy answer is obviously OpenSuse for a quick easy and painless developer experience. However, if you don't need the latest and greatest mono bits and are setting up a webserver you might want to use a distribution that has a more enterprise philosophy (SLES, RHEL, Ubuntu LTS). Or if you like a minimalist distribution you may want to try gentoo for a kernel that does nothing but what you need.
Personally, I develop on OpenSuse to have the latest tooling, but target redhat because that is a brand that people I work with know and trust. It is not a technical reason, but a political one. What are your other VMs running? Mono even runs on Windows, Mac and Solaris.