本关任务:去除数组中的重复数据。
-
接收给定的数据(如:4 88 43 43 98 #...,其中第一个数代表数组长度,其余数代表数组元素,# 号用于终止接收数据,这些数据用空格进行分隔),遇到 # 号终止接收;
-
去除数组中重复元素并输出去重后的数组
很高兴昨天刚刷的leetcode第一题这么快就能排上用场
import java.util.Scanner;
public class ArrTest {
public static void main(String[] args) {
// 请在Begin-End间编写代码
/********** Begin **********/
// 接收给定的数据
Scanner scan = new Scanner(System.in);
int length = scan.nextInt();
int i;
int[] sum = new int[length];
for(i=0;i<length;i++){
sum[i] = scan.nextInt();
}
int x;
int y;
int mus = 0;
for(x=0;x<length;x++){
for(y=x+1;y<length;y++){
if(sum[x] == sum[y]){
mus++; // mus-1 就是新数组的长度
sum[y] = 0;
}
}
}
int q;
for(q=0;q<length;q++){
if(sum[q] != 0){
System.out.println(sum[q]);
}
}
int[] newArray = new int[length - (mus-1)];
int p;
/*
for(p=0;p<length;p++){
if(sum[p] != 0){
newArray[p] = sum[p];
// System.out.println(newArray[p]);
}
}
*/
// 通过临时数组对原数组去重,最后将临时数组赋值给原数组
// 打印去重后的数组值
/********** End **********/
}
}
思想待更