![An example of a group](https://istack.dev59.com/kVCzI.webp)
我的解决方案是遍历角度并模拟从绿色像素开始沿着该角度的直线的进程,看哪条直线行进的距离最远。
longestDist = 0
bestDegree = -1
farthestX = -1
farthestY = -1
FOR EACH degree from 0 to 360
dx=longestDist * cos(degree);
dy=longestDist * sin(degree);
IF Point(x+dx , y+dy) does not belong to the group
Continue with next degree
//Because it must not be the longest line, so skip it
END IF
(farthestX , farthestY) = simulate(x,y,degree)
d = findDistance(x , y , farthestX , farthestY)
IF d > longestDist
longestDist = d
bestDegree = degree
END IF
END FOR
显然这不是最好的算法。因此我在这里请求帮助。
谢谢,对我的英语表示歉意。