我试图找到具有特定点的最小距离((x1,x2)和(y1,y2)距离= abs(y2-y1)+abs(x2-x1)的元组(一个或多个)。对于例子 :
列表将是 [(1,2),(3,4),(5,4),(5,6),(9,12) ]
具体点是(xpos,ypos)=(4,4)。
然后我的函数应该返回 [(3,4),(5,4)]。我试图实现这个,但我有一个问题,我认为它与基本情况有关。有没有人可以帮助我?
disSolver xpos ypos coor = abs (xpos - (fst coor)) +abs(ypos-(snd coor))
closestTuple _ _ [] =[]
closestTuple xpos ypos (x:y:xs) = if (disSolver xpos ypos x)<= (disSolver xpos ypos y)
then [x] ++ closestTuple xpos ypos (xs)
else closestTuple xpos ypos (y:xs)
提前致谢 !