我在一次编码面试中遇到了这个问题,但没有找到一个好的解决方案。
给你6张多米诺骨牌一个多米诺骨牌有两个半边,每个半边都有许多点。你在建造一个三层多米诺骨牌金字塔底层有3张多米诺骨牌,中层有2张,顶层有1张。
这种布置使得每一层都位于它下面的层的中心之上。这是一个视觉:
[ 3 | 4 ]
[ 2 | 3 ] [ 4 | 5 ]
[ 1 | 2 ][ 3 | 4 ][ 5 | 6 ]
金字塔的设置必须使每一个多米诺骨牌的一半上的点数与它下面的一半上的点数相同这不适用于同一级别的相邻多米诺骨牌。
有可能用上面描述的6个多米诺骨牌来建造金字塔吗多米诺骨牌可以自由排列和旋转。
编写一个包含12个整数的数组(arr[0]、arr[1]是第一个domino、arr[2]、arr[3]是第二个domino等)的函数,如果可以或不可以用给定的6个多米诺骨牌创建金字塔,则返回“yes”或“no”。
谢谢您。
最佳答案
你可以做得比残忍的强迫更好我没有时间完整回答。所以这更像是一个暗示。
计算每个数字的出现次数至少两个数字应该是3,以此类推如果不满足这些条件,就没有解决办法。在接下来的步骤中,您需要考虑数字在磁贴上的位置。