我有一个数组,我想删除该数组中重复值的所有实例。
arr = [1, 1, 2, 3, 4, 4, 5]
我想要预期的输出:
=> [2, 3, 5]
最好的方法是什么?
答案 0 :(得分:4)
p arr.group_by(&:itself).reject{|k,v|v.count>1}.keys
输出
[2, 3, 5]
答案 1 :(得分:1)
有一个更简单的解决方案:
arr = [1, 2, 1, 3, 1, 4, 1, 5, 1, 6]
new_arr = arr - [1]
new_arr 返回 [2, 3, 4, 5, 6]
答案 2 :(得分:0)
答案 3 :(得分:0)
#include <stdio.h>
int main()
{
int arr[8];
for(int i=0; i<8; i++)
{
printf("The number: " );
scanf("%d", &arr[i]);
}
int size = sizeof(arr)/sizeof(int);
printf("%d\n", size);
return 0;
}
预期产量
arr = [1, 1, 2, 3, 4, 4, 5]
arr.reject{|x| arr.count(x)>1}
如果是多维的
=> [2, 3, 5]
答案 4 :(得分:-2)