Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/329.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/cassandra/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 打印具有1和0的4 x 5电路板的所有配置,不在一行或对角线上打印三个1,同时填充尽可能多的1_Java_Algorithm - Fatal编程技术网

Java 打印具有1和0的4 x 5电路板的所有配置,不在一行或对角线上打印三个1,同时填充尽可能多的1

Java 打印具有1和0的4 x 5电路板的所有配置,不在一行或对角线上打印三个1,同时填充尽可能多的1,java,algorithm,Java,Algorithm,显然,生产2^20种可能的配置并从中消除并不理想。我曾经考虑过从动态规划的一角来构建问题,但是在保存所有可能的配置时遇到了麻烦。任何帮助都将不胜感激 你真的不必担心内存不足。您可以将一块单板位打包到一个int中。所有可能使用的板的内存总量大约为5MB。所以你不应该有任何问题,只是粗暴地强迫问题 记住那句格言:先使用暴力,然后再变得聪明 因此,您要做的是访问各种位: read_bit(int bit) { return (bitpack >> bit) & 0x01; }

显然,生产2^20种可能的配置并从中消除并不理想。我曾经考虑过从动态规划的一角来构建问题,但是在保存所有可能的配置时遇到了麻烦。任何帮助都将不胜感激

你真的不必担心内存不足。您可以将一块单板位打包到一个int中。所有可能使用的板的内存总量大约为5MB。所以你不应该有任何问题,只是粗暴地强迫问题

记住那句格言:先使用暴力,然后再变得聪明

因此,您要做的是访问各种位:

read_bit(int bit) {
 return (bitpack >> bit) & 0x01;
}

write_bit(int bit, int value) {
 bitpack = (bitpack) | ((value & 0x01) << bit);
}

我有一个类似的方法,我最后做的是从左上角开始,然后从左上角开始,每个方向都有一个递归函数,这仍然会留下一些重复项,但是速度要快得多。你到底是什么意思,在保存所有可能的数据时遇到困难?到目前为止你有没有尝试过任何东西?你能详细说明一下位包技术吗?@harshwinter69我在上面列出了一些你可以使用的东西。要从2d实际索引,请执行x*行大小+y之类的操作