给定一组间隔[x,y] where 0 <= x,y <= 2000
如何找到可以覆盖的最小点数(即每个间隔应该包含所得点集中的至少一个点)所有间隔?
示例:
Given Set of intervals:
[2,5]
[3,7]
[7,10]
然后答案应该是2(覆盖所有间隔所需的最小点数),因为点x=3,x=7
是一个解决方案。
答案 0 :(得分:10)
您可以使用贪心算法:
按端点对所有间隔进行排序(按递增顺序排列)。
迭代排序的数组间隔。间隔结束时,有两个选项:
此算法生成的结果集是最佳的。