初级编程通关练习题 #18 – 离坐标中心最近的N个点

给定一组平面坐标集合S,找出这些坐标中距离中心点(0,0)距离最近的N个点列表,N大于1小于坐标集合的长度。

输入样例:

S = [[4, 1], [6, 3], [5, -2], [-1, 4], [3, -3], [-2, -4], [1, 1]]
N = 3

输出样例:

[[1, 1], [4, 1], [-1, 4]]

上面的输入样例中,距离坐标中心点最近的三个点是 [1, 1], [4, 1], [-1, 4]。

算法思路:

  • 可以使用 sorted 函数来给坐标集合进行排序
  • 排序的规则就是每个坐标点到中心点的距离。
  • 排序完毕后,返回最前面的N个坐标。