有人可以告诉如何生成 n 位字符串(所有可能的组合),即使用分而治之的方法从 0 到 2^n-1 计数位。
我可以使用以下算法做到这一点,但空间复杂度和时间复杂度都是 O(2^n)。有人可以给我一个更好的算法(使用分而治之),它需要比这更少的空间。
ArrayList generate(int n)
{
if(n==1)
{
Create an arrayList and store strings "0" and "1";
}
else
{
generate(n-1)
now recompose the solution to get 2^n strings and return this arraylist
"PROBLEM here is that the length of the array list is also getting
exponential"
}
}