java - 打印二进制排列列表

标签 java algorithm

我想做的是打印一个二进制数 n 位长的所有可能性。换句话说,使用 4 位数字:

0001
0010
0100
1000

..等等

老实说,我什至不知道从哪里开始(除了我认为我需要使用一个循环,可能还需要一个数组),所以任何指向正确方向的指示都将不胜感激。

最佳答案

也许你可以使用递归算法:

public void printBin(String soFar, int iterations) {
    if(iterations == 0) {
        System.out.println(soFar);
    }
    else {
        printBin(soFar + "0", iterations - 1);
        printBin(soFar + "1", iterations - 1);
    }
}

你可以这样执行:

printBin("", 4);

这将为您提供所有可能的 4 位二进制数。

希望这对您有所帮助!

关于java - 打印二进制排列列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8461438/

相关文章:

java - 使用递归选择团队

algorithm - DAG 中多个节点的最小公共(public)祖先

java - Intent 和事件之间的细微差别?

java - RESTful 服务调用

java - Bug : E/JSON Parser﹕ Error parsing data org. json.JSONException : Value Hello of type java. lang.String无法转换为JSONObject

java - 方法签名中带或不带synchronized关键字的方法具有相同的字节码

java - Guava 抽象迭代器 - 重复类

algorithm - 用于昂贵交换的排序算法?

ruby-on-rails - 如何在 Ruby on Rails 中实现无向图?

c++ - C++ 中的 DFS : return node if it contains searched key