給定一個升序排列的陣列,去掉重複的數,並輸出新的陣列的長度。
阿新 • • 發佈:2018-11-28
給定一個升序排列的陣列,去掉重複的數,並輸出新的陣列的長度。
例如:陣列 A={1,1,2},你的程式應該輸出 2 即新陣列的長度,新陣列為 {1,2}。
要求:不能新開陣列分配額外的空間,即常數空間限制。
輸入格式
輸入一個整數 n(1≤n≤1000)。
接下來一行 n 個整數 A i (−1000≤A i ≤1000),表示陣列 A 中的每個元素。
輸出格式
輸出一個整數,表示新陣列長度。
樣例輸入 複製
5
0 0 1 1 2
樣例輸出 複製
3
import java.util.Scanner;
import java.util.HashMap;
public class Main {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
int n = scanner.nextInt();
int[] array;
array = new int[n];
for (int i = 0; i < n; i++) {
array[i] = scanner.nextInt();
}
f(array) ;
}
public static void f(int arr[]){
HashMap sHashMap = new HashMap();
for (int i = 0; i < arr.length; i++) {
sHashMap.put(arr[i], i);
}
System.out.println(sHashMap.size());
}
}