arrays - 从值数组中删除对重复项

标签 arrays lua duplicates

问题

lua 中,我有一个值数组(特别是 - xy 位置值),我想从中删除重复的 < em>对。该数组如下所示:

array = {x1, y1, x2, y2, x3, y3, ... , xn, yn}

其中 n 是坐标对的数量。因此,一个值是 x 坐标还是 y 坐标完全取决于它在数组中的位置。重复定义为 xa == xb 和 ya == yb。例如,如果 x1 == x2y1 == y2 我想删除 x1y1 < em> 或(不是两者) 来自数组的 x2y2

问题

  1. 如何从这样的数组中删除重复项?
  2. 不分割数组能不能做到?
  3. 奖励:在更一般的情况下,如果数组包含 3 个(或更多)变量,即 array = {x1, y1, z1, x2, y2, z2, .. ., xn, yn, zn

数值示例

如果给定一个值数组:

array = {1, 1, 2, 1, 1, 1, 2, 1}

然后删除重复项应该会产生一个数组:

array = {1, 1, 2, 1}

最佳答案

您可以使用表格中的表格来跟踪重复项。外表由 x 分量索引,内表由 y 分量索引。然后,您只需以 2 为增量遍历原始数组,并且仅在未将元素作为重复项进行跟踪时才将其复制到结果中。

关于arrays - 从值数组中删除对重复项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42908071/

相关文章:

c# - Entity Framework 在数据库中添加重复实体

整数数组初始化的 C++ 指针

javascript - 使用filter()按子列表中的值过滤计算列表

c++ - 返回各种类型的函数的 SWIG 类型映射

unit-testing - 是否可以有条件地在 Lua 中加载库?

sql - mysql为非主键列分配自动编号

php - 合并两个带有数字键的数组作为关联数组的值以插入MySQL中的多行

javascript - 如果元素位于另一个对象数组中,则删除对象数组内包含数组的对象属性

error-handling - 捕获 lua_error() 的输出?

python - 如何使用列表有条件地从 Pandas DataFrame 中删除重复项