去掉重复的数据pta java
时间: 2024-02-17 18:53:48 浏览: 28
可以使用Java中的Set集合来去重。具体步骤如下:
1. 将需要去重的数据存放到List集合中。
2. 创建一个Set集合,并将List集合中的数据全部添加到Set集合中。
3. 将去重后的数据再次存放到List集合中。
示例代码如下:
```java
List<String> list = new ArrayList<>();
list.add("a");
list.add("b");
list.add("c");
list.add("a");
list.add("d");
Set<String> set = new HashSet<>(list);
list.clear();
list.addAll(set);
System.out.println(list); // 输出结果:[a, b, c, d]
```
相关问题
7-4 数据类型判断pta java
在Java中,可以使用instanceof运算符来判断一个对象的数据类型。具体的语法如下:
```
对象 instanceof 数据类型
```
这个表达式会返回一个布尔值,如果对象是指定的数据类型,则返回true,否则返回false。
举个例子,假设有一个变量num的数据类型是int,我们可以使用instanceof运算符来判断它的数据类型是否为int:
```
int num = 7;
boolean isInt = num instanceof int;
```
在上述例子中,isInt变量的值将会是true,因为num的数据类型是int。
希望能帮到你!如果还有其他问题,请继续提问。
pta7-3 去掉重复的数据
题目描述
给定一个长度为 $n$ 的数组 $a$,请你去掉其中的重复元素,只保留出现次数最后一次的元素,然后输出剩余元素的个数以及剩余元素在数组中的位置。
输入格式
第一行包含整数 $n$,表示数组长度。
第二行包含 $n$ 个整数 $a_i$,表示整数数组。
输出格式
第一行输出一个整数,表示去重后剩余元素的个数。
第二行输出一个整数序列,表示剩余元素在原数组中的位置,每个位置后面有一个空格。
数据范围
$1≤n≤10^6,$
$1≤a_i≤10^6$
输入样例:
5
2 3 2 3 1
输出样例:
3
2 4 5
算法1
(哈希表) $O(n)$
时间复杂度
参考文献
python3 代码
算法2
(暴力枚举) $O(n^2)$
blablabla
时间复杂度
参考文献
C++ 代码
class Solution {
public:
int removeDuplicates(vector<int>& nums) {
if (nums.empty()) return 0;
int i = 0;
for (int j = 1; j < nums.size(); ++j)
if (nums[j] != nums[i])
nums[++i] = nums[j];
return i + 1;
}
};