2011-01-11 5 views
0

Я получил этот набор строки, такие как «12 13-1 444»множества проблем струны перестановки

Я хочу, чтобы генерировать все различные перестановки этого множества целых чисел.

Я имею в виду

"12 13 2 1 444" 
"13 12 2 1 444" 
"12 13 1 2 444" 
"1 12 13 2 444" 
..... 

Может ли один помочь мне с Java?

+0

нет, это конечный комплект. извините за непонятный –

+1

возможный дубликат [Генерация всех перестановок заданной строки] (http://stackoverflow.com/questions/4240080/generating-all-permutations-of-a-given-string), который для строк (в Java), но это легко может быть адаптировано к целым числам. – marcog

+0

Извините, я изменил его. Это должно быть строка. да. –

ответ

2

Существует много способов сделать это. Я думаю, что лучший способ - разбить его на два этапа:

  1. Разделите шнур на его составные части.
  2. Создайте все перестановки этих частей.

Вы можете разбить строку на отдельные значения с помощью метода String.split:

String[] allParts = inputString.split(' '); 

После того как вы это, вы можете создать все перестановки с одной из многих функций генерации перестановок. Ссылка Леона, вероятно, поможет здесь.

1

вам нужно сделать это рекурсивно. Проверка http://programminggeeks.com/recursive-permutation-in-java/ в руководстве

+3

Я не думаю, что это должно быть рекурсивным. –

+2

, конечно, все рекурсивное можно сделать итеративно, но это проще сделать рекурсивно – Leon

Смежные вопросы