Tag: 伪码

两个矩形相交

我有两个矩形,每个都有4个值: 左侧位置X ,顶部位置Y ,宽度W和高度H : X1, Y1, H1, W1 X2, Y2, H2, W2 矩形不旋转,如下所示: +——————–> X axis | | (X,Y) (X+W, Y) | +————–+ | | | | | | | | | | +————–+ v (X, Y+H) (X+W,Y+H) Y axis 确定两个矩形的交点是否为空的最佳解决scheme是什么?

这个游戏背后的math/计算原理是什么?

我的孩子们有这个有趣的游戏叫Spot It! 游戏的限制(我可以描述的最好的)是: 这是一副55张牌 在每张卡上有8张独特的照片(即一张卡不能有2张相同的照片) 鉴于从甲板上select的任何2张卡,有1个,只有1个匹配的图片 。 匹配的图片可能在不同的卡片上有不同的缩放比例,但这只是为了让游戏变得更加困难(即小树仍然匹配更大的树) 游戏的原理是:翻转2张牌,谁先挑选匹配的图片得到一个点。 这是澄清的图片: (例如:从上面两张卡片可以看出,匹配的图片是绿色的恐龙,在右下angular和中间的图片之间,这是一个小丑的头)。 我想了解以下内容: 满足这些标准所需的不同图片的最小数量是多less?您如何确定? 使用伪代码(或Ruby),你将如何从N张图片(其中N是问题1中的最小数字)中生成55张游戏卡? 更新: 每张卡片的确出现两次以上(与一些猜测相反)。 看到这张3张卡片,每个都有一个闪电:

快速sorting:select枢轴

在实现Quicksort时,你需要做的一件事是select一个数据透视表。 但是当我看下面的伪代码时,我不清楚应该如何select数据透视表。 列表的第一个元素? 别的东西? function quicksort(array) var list less, greater if length(array) ≤ 1 return array select and remove a pivot value pivot from array for each x in array if x ≤ pivot then append x to less else append x to greater return concatenate(quicksort(less), pivot, quicksort(greater)) 有人可以帮助我理解select枢纽的概念,以及不同的情景是否需要不同的策略。