gpt4 book ai didi

algorithm - 用二进制数填充数组

转载 作者:塔克拉玛干 更新时间:2023-11-03 03:39:13 24 4
gpt4 key购买 nike

首先这不是家庭作业!

我的问题来自 Robert Sedgewick 的书:C++ 算法第三版

给定一个大小为 n × 2^n(二维)的数组,我们应该用位大小正好为 n 的二进制数填充它。例如,对于 n=5,结果将是:

00001
00010
00011
00100
00101
00110
00111

等等。我们应该把这个位序列放入数组中。

最佳答案

这是一个非常初级的问题,我将用这个 Java 片段来演示:

public class Bin {                                                  // prints:   
static String zero(int L) { // 0000
return (L <= 0 ? "" : String.format("%0" + L + "d", 0)); // 0001
} // 0010
static String zeroPad(String s, int L) { // 0011
return zero(L - s.length()) + s; // 0100
} // 0101
public static void main(String[] args) { // 0110
final int N = 4; // 0111
for (int i = 0; i < (1 << N); i++) { // 1000
System.out.println(zeroPad(Integer.toBinaryString(i), N)); // 1001
} // 1010
} // 1011
} // 1100
// 1101
// 1110
// 1111

我将留给您解决如何实现 toBinaryString 以及如何用位填充 int[][]

关于algorithm - 用二进制数填充数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2795678/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com