例如:
有一个元素列表,例如排序整数列表{1,2,3,4,6,8,11}。
我想找到最小组数,组中的每个成员都有 彼此之间的合格差异,例如小于或等于2。
在这种情况下,我们可以看到答案应该是4,一个可能的解决方案是{1,2,3},{4,6},{8},{11}。
如何编写算法以找到最小数量?
此外,我们可以在二维中考虑这个问题:
有一个点列表{(3,3),(3,6),(6,9)}。长度为3的最小平方数是多少?我需要用它来覆盖所有这些点?答案应该是2。但是如何通过编程找到它?
我问这个问题是为了解决Google Code Jam Practice Contest中的Square Fields问题,但解决这个问题第一部分的任何答案对我来说已经足够了。
答案 0 :(得分:2)
对于1-D:按升序对元素进行排序,并通过将新组的左边界设置为任何组尚未覆盖的最小元素来贪婪地形成组。