【发布时间】:2014-09-03 03:04:46
【问题描述】:
我有一组 N 个点,我想找出单行中的最大点数。
我用每对点创建了 Line2D 对象。显然,一些 Line2D 对象将具有相同的斜率和截距以使点共线。现在我想创建一种哈希表来存储具有相同斜率和截距的线的计数器。
int x1 = 1;
int y1 = 1;
int x2 = 2;
int y2 = 2;
int x3 = 3;
int y3 = 3;
Line2D line1 = new Line2D.Double(x1, y1, x2, y2);
Line2D line2 = new Line2D.Double(x2, y2, x3, y3);
hashMap.put(line1, 1);
显然,如果我将 line2 放在 hashMap 中,它将转到另一个。我怎样才能做到这一点,因为两条线都相同,所以计数增加 1?
【问题讨论】:
-
不要使用“斜率”,这不适用于垂直线。无论如何,就实际意图而言,这似乎与stackoverflow.com/questions/25342885/…相同