【发布时间】:2014-01-01 08:39:05
【问题描述】:
给定一个包含四个点的数组,生成一个具有相同点的新数组/向量/数组列表(无论哪个更简单),但如果存在具有重复 X 值的点,则只保存 Y 值最高的点。
例如:
如果给定 (3, 2), (3, 1), (1, 2), (1, 1),这个方法应该只输出 (3, 2) 和 (1, 2)。
如果给定 (3, 2), (3, 3), (3, 4), (3, 5),这个方法应该只输出 (3, 5)。
关于我应该如何进行此操作的任何想法?我的解决方案不断遇到 ConcurrentModificationException。
(for each point a in array) {
(for each point b in newArray) {
(if a and b have the same x and a has a greater y) {
remove a
add b
} else {
add b
}
}
【问题讨论】:
-
请展示您的解决方案。如果同时更改列表/数组,则会出现该错误。循环时不能修改它。为了解决这个问题,将新点保存在一个新数组中,而不是尝试修改给定的点。
-
我用一些伪代码编辑了我的帖子。