问题
我在lua
中有一个值的数组(具体来说是x
和y
位置值),我想从中删除重复的对。该数组如下所示:
array = {x1, y1, x2, y2, x3, y3, ... , xn, yn}
其中n是坐标对的数量。因此,一个值是x
坐标还是y
坐标仅由其在数组中的位置确定。重复定义为xa == xb and ya == yb
。例如,如果x1 == x2
且y1 == y2
,我想从数组中删除x1
和y1
或者(不是两个)x2
和y2
。
问题
- 如何从这样的数组中删除重复项?
- 是否可以在不将数组细分的情况下完成?
- 奖励:在更一般的情况下,如果数组包含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}