class Solution {
public static int[] removeDuplicates(int[] nums) {
if(nums == null)
System.out.print("数组不能为空!!!");
//存储临时数组
int[] noReaptArr = new int[nums.length];
int t = 0;//计数去重后数组长度
for(int i = nums.length-1; i >=0; i--){
//标志未重复
boolean noReapt = true;
//遇到第一个重复元素就跳过,再从下一个元素开始找重复元素
for(int j = i-1; j>=0; j--){
if(nums[i] == nums[j]){
noReapt = false;
break;
}
}
//未重复将其加入新数组
if(noReapt)
//t自增,最后一个多自增一次结果为最终长度
noReaptArr[t++] = nums[i];
}
int[] endArr = new int[t];
for(int i = 0, j = t-1; i < t; i++, j--){
endArr[i] = noReaptArr [j];
}
return endArr;
}
public static void main(String[] args){
int[] nums = {1,2,2,3,4,5,6,5,5,4};
for(int i = 0; i < nums.length; i++){
System.out.print(nums[i]+",");
}
System.out.println();
System.out.println(nums.length);
nums = removeDuplicates(nums);
for(int i = 0; i < nums.length; i++){
System.out.print(nums[i]+",");
}
System.out.println();
System.out.println(nums.length);
}
}
初级算法练习01 --排序数组中删除重复元素并原序输出
猜你喜欢
转载自blog.csdn.net/huofuman960209/article/details/82180131
今日推荐
周排行