去掉數組中重複元素的最高效算法

 在編程中經常會遇到,需要刪除數組中的重複元素的問題,現在已經有很多人實現了。但是目前已經實現的算法中,有的需要多次創建數組,有的寫的很複雜。經過思考和時間,寫出了一個最爲高效的算法,不需要多次創建數組,算法也很簡單,代碼如下:

/**
	 * 去掉數組中重複的元素
	 * @param coords
	 * @return
	 */
	public static int[] distinct(int[] arr){
		int length=1;
		boolean isExist=false;
		for(int i=1;i<arr.length;i++){
			for(int j=0;j<length;j++){
				if(arr[i]==arr[j]){
					isExist=true;
break;
				}
			}
			if(!isExist){
				arr[length]=arr[i];
				length++;
			}			
			isExist=false;
		}
		int[] newArr=new int[length];
		System.arraycopy(arr, 0, newArr, 0, length);
		return newArr;
	}

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章