Необходимо проверить статья Permutations о wikipeda. Кроме того, существует понятие Factoradic числа.
Так или иначе, математическая проблема довольно трудна.
В C#
можно использовать iterator
и остановить алгоритм перестановки с помощью yield
. Проблема с этим состоит в том, что Вы не можете пойти назад и вперед или использовать index
.
Лучший способ сериализации даты в javascript - использовать toUTCString
(а не только toString ()
); toUTCString
создаст дату rfc 822 (в том же формате, что и http). Затем вы можете просто использовать следующий шаблон SimpleDateFormat для его анализа в java:
new SimpleDateFormat("EEE, dd MMM yyyy HH:mm:ss z", Locale.ENGLISH)
Лично я предпочитаю средства форматирования Joda Time по одной основной причине: они ориентированы на многопотоковое исполнение и неизменяемы, поэтому вы можете создать его, сохранить статически и повторно использовать без забот. Joda также позволяет легко указывать часовые пояса и т. Д. Конечно, они в конечном итоге создают объекты Joda, что является еще одним преимуществом IMO - я стараюсь избегать Java API даты / времени, где это возможно.
Сказав это, мы бы хотели нужно больше знать о формате, который вы пытаетесь анализировать, и о том, что не так с SimpleDateFormatter
. (Как правило, если вы "испытываете проблемы" с чем-то и хотите, чтобы эти проблемы были исправлены, полезно описать, в чем заключаются проблемы, в идеале с помощью короткой, но полной программы для демонстрации проблемы.)