您将得到一个整数对的数组/列表/向量,这些整数对表示2D欧几里得平面上点的笛卡尔坐标;所有坐标都在和,允许重复。找到这些点的凸包的面积,四舍五入到最接近的整数;确切的中点应四舍五入为最接近的偶数整数。您可以在中间计算中使用浮点数,但前提是可以保证最终结果始终正确。这是代码高尔夫球,因此最短的正确程序将获胜。
点集合P的凸包是包含P的最小凸集。在欧几里得平面上,对于任何单个点(x ,y ),它都是该点本身。对于两个不同的点,它是包含它们的线,对于三个非共线的点,它是它们形成的三角形,依此类推。
关于凸包的视觉效果最好的可视化解释,最好是将所有点想象成钉子在木板上,然后在它们周围拉伸橡皮筋将所有点围起来:
一些测试用例:
Input: [[50, -13]]
Result: 0
Input: [[-25, -26], [34, -27]]
Result: 0
Input: [[-6, -14], [-48, -45], [21, 25]]
Result: 400
Input: [[4, 30], [5, 37], [-18, 49], [-9, -2]]
Result: 562
Input: [[0, 16], [24, 18], [-43, 36], [39, -29], [3, -38]]
Result: 2978
Input: [[19, -19], [15, 5], [-16, -41], [6, -25], [-42, 1], [12, 19]]
Result: 2118
Input: [[-23, 13], [-13, 13], [-6, -7], [22, 41], [-26, 50], [12, -12], [-23, -7]]
Result: 2307
Input: [[31, -19], [-41, -41], [25, 34], [29, -1], [42, -42], [-34, 32], [19, 33], [40, 39]]
Result: 6037
Input: [[47, 1], [-22, 24], [36, 38], [-17, 4], [41, -3], [-13, 15], [-36, -40], [-13, 35], [-25, 22]]
Result: 3908
Input: [[29, -19], [18, 9], [30, -46], [15, 20], [24, -4], [5, 19], [-44, 4], [-20, -8], [-16, 34], [17, -36]]
Result: 2905
2
你有测试用例吗?
—
Maltysen
不考虑代码中的空格是一个坏主意,它会导致提交带有大量空格的字符串以及将字符串转换为代码并执行的通用代码。
—
xnor19
确切的中点应四舍五入到最接近的偶数整数:只是想知道其背后的原因是什么?
—
阿纳尔德
通常,挑战是独立的,但事实并非如此。您能解释什么是凸包,以及如何计算吗?还是指向一些参考在线资源?
—
奥利维尔·格雷戈尔