java设计一个方法removeDuplicates(),要求删除数组nums中重复出现的元素,使得每个元素最多只出现两次,并将剩余的元素保存到列表集合并返回public class ListDemo { public static void main(String[] args) { int[] nums1={0,3,1,1,0,2,1,3,1,2,1,2,3,3}; System.out.println(removeDuplicates(nums1)); //输出:[0, 3, 1, 1, 0, 2, 3, 2] int[] nums2={1,1,2,1,2,1,3,2}; System.out.println(removeDuplicates(nums2)); //输出:[1, 1, 2, 2, 3] } public static List<Integer> removeDuplicates(int[] nums){ //补充方法代码 } }
时间: 2023-07-02 17:07:06 浏览: 93
java 去除重复元素
5星 · 资源好评率100%
可以使用一个哈希表来记录每个元素出现的次数,然后遍历数组,将出现次数不超过2次的元素添加到列表集合中即可。代码如下:
```java
import java.util.*;
public class ListDemo {
public static void main(String[] args) {
int[] nums1={0,3,1,1,0,2,1,3,1,2,1,2,3,3};
System.out.println(removeDuplicates(nums1)); // 输出:[0, 3, 1, 1, 0, 2, 3, 2]
int[] nums2={1,1,2,1,2,1,3,2};
System.out.println(removeDuplicates(nums2)); // 输出:[1, 1, 2, 2, 3]
}
public static List<Integer> removeDuplicates(int[] nums) {
Map<Integer, Integer> map = new HashMap<>();
List<Integer> list = new ArrayList<>();
for (int num : nums) {
map.put(num, map.getOrDefault(num, 0) + 1);
if (map.get(num) <= 2) {
list.add(num);
}
}
return list;
}
}
```
阅读全文