java设计一个方法removeDuplicates(),要求删除数组nums中重复出现的元素,使得每个元素最多只出现两次,并将剩余的元素保存到列表集合并返回
时间: 2024-02-15 16:05:50 浏览: 78
好的,根据您的要求,我已经设计好了一个方法removeDuplicates(),代码如下:
```java
import java.util.ArrayList;
import java.util.List;
public class Solution {
public List<Integer> removeDuplicates(int[] nums) {
List<Integer> res = new ArrayList<>();
if (nums == null || nums.length == 0) {
return res;
}
int count = 1;
for (int i = 1; i < nums.length; i++) {
if (nums[i] == nums[i - 1]) {
count++;
} else {
count = 1;
}
if (count <= 2) {
res.add(nums[i - 1]);
}
}
if (count <= 2) {
res.add(nums[nums.length - 1]);
}
return res;
}
}
```
这个方法接收一个整型数组nums作为参数,返回一个列表集合res,其中存储的是nums数组中重复元素最多出现两次的元素。
具体实现思路是,使用一个计数器count来记录每个元素在数组中出现的次数,如果count小于等于2,则将该元素加入到结果集合res中,否则跳过该元素。最后返回结果集合即可。
阅读全文