回答此问题可获得 20 贡献值,回答如果被采纳可获得 50 分。
<p>我有两张单子</p>
<p><code>available_points = [[2,3], [4,5], [1,2], [6,8], [5,9], [51,35]]</code></p>
<p>以及</p>
<p><code>solution = [[3,5], [2,1]]</code></p>
<p>我试图把<code>available_points</code>中的一个点,并把它附加到<code>solution</code>上,对于这个点到<code>solution</code>中所有点的欧几里德距离之和是最大的。在</p>
<p>所以,我会得到这个</p>
<p><code>solution = [[3,5], [2,1], [51,35]]</code></p>
<hr/>
<p>我可以像这样选择最远的两个点,但不确定如何继续。在</p>
<pre><code>import numpy as np
from scipy.spatial.distance import pdist, squareform
available_points = np.array([[2,3], [4,5], [1,2], [6,8], [5,9], [51,35]])
D = squareform(pdist(available_points)
I_row, I_col = np.unravel_index(np.argmax(D), D.shape)
solution = available_points[[I_row, I_col]]
</code></pre>
<p>这给了我</p>
<p><code>solution = array([[1, 2], [51, 35]])</code></p>