Как разделить int на подстроки / вложенные объекты? - PullRequest
0 голосов
/ 24 сентября 2018

Я хочу разбить число на разные числа (например, 123456 -> 123,456 или 12,3456 или 123,45,6 ... и т. Д.).Они должны быть в том же порядке.Итак, один метод, который я думал, заключался в том, чтобы сначала поместить каждую цифру числа в массив.Затем я бы просмотрел массив и нашел каждую их комбинацию.Но я думаю, что этот метод будет иметь длительное время, чтобы найти все возможные комбинации, особенно если число можно разделить более чем в 2 раза.Был бы более эффективный способ сделать это?

1 Ответ

0 голосов
/ 24 сентября 2018

Был бы более эффективный метод для этого?

Нет.

Будет 2 n-1 комбинаций, напримердля 6-значного числа 2 5 = 32 комбинации.

Подумайте об этом так: каждый «пробел» между цифрами может быть либо разделен, либо нет, истина / ложь, 1 /0, то есть «бит», поэтому вы можете определить комбинацию разделения, используя 5-битное число:

1 2 3 4 5 6
 ^ ^ ^ ^ ^
 0 0 0 0 0   ->  123456
 0 0 0 0 1   ->  12345,6
 0 0 0 1 0   ->  1234,56
  . . . .
 1 1 1 1 0   ->  1,2,3,4,56
 1 1 1 1 1   ->  1,2,3,4,5,6
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...