1. 程式人生 > >給定一個升序排列的陣列,去掉重複的數,並輸出新的陣列的長度。

給定一個升序排列的陣列,去掉重複的數,並輸出新的陣列的長度。

給定一個升序排列的陣列,去掉重複的數,並輸出新的陣列的長度。

例如:陣列 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()); } }