小编aZe*_*Zen的帖子

反向矩形填料

我有一个连接的形状,由放在一起的正方形组成,例如,取一个方形纸,沿着现有的线条绘制一条线,该线条在其开始处结束并且不会交叉.

现在的目标是找到一个算法(而不是强力),用尽可能少的非重叠矩形填充这个形状.

我正在寻找最佳解决方案.从图像中可以看出,天真贪婪的方法(采取最大的矩形)不起作用.

最佳 (最佳)

贪婪 (贪婪)

我的场景是顶点缩减,但我确信还有其他用例.

注意:此问题似乎很基本,但我无法在其他地方找到解决方案.还有,这个问题NP难吗?

编辑:我刚刚意识到,在我的场景中,用尽可能少的非重叠三角形填充形状会产生更好的结果.

algorithm packing rectangles vertices

5
推荐指数
1
解决办法
549
查看次数

奇怪的javascript行为(作业)

交换两个数字

C++:

int a = 3;
int b = 5;
a^=b^=a^=b;
printf("%d, %d\n", a, b); //5, 3
Run Code Online (Sandbox Code Playgroud)

PHP:

$a = 3; $b = 5;
$a^=$b^=$a^=$b;
echo "$a, $b\n"; //5, 3
Run Code Online (Sandbox Code Playgroud)

使用Javascript:

> a=3;b=5;a^=b^=a^=b;[a,b]
[ 0, 3 ]
Run Code Online (Sandbox Code Playgroud)

为什么?看起来在所有表达式执行之前初始化所有变量...

javascript swap operator-precedence

5
推荐指数
1
解决办法
96
查看次数