数组题解:定义一个函数清除该数组的重复元素,返回的数组存储了那些非重复的元素而且数组不准浪费长度。

目前有数组” int[] arr = {11,2, 4, 2, 10, 11},
定义一个函数清除该数组的重复元素,返回的数组存储了那些非重复的元素而且数组不准浪费长度。

分析:1. 确定新数组的长度。 原数组的长度-重复元素个

import java.util.Arrays;

public class Demo10 {
	public static void main(String[] args) {
		int arr[] = {11,2,4,2,11,11};
		arr = clearRepeat(arr);
		System.out.println("清楚重复元素的数组:"+Arrays.toString(arr));
	}
	
public static int[] clearRepeat(int[] arr) {
     int count = 0;
     for(int i=0;i<arr.length;i++) {
	    for(int j=i+1;j<arr.length;j++) {
		   if(arr[i] == arr[j]) {
			   count++;
			   break;
    	   }
	    }
	}
			System.out.println(count);
			//新数组的长度
			int newLength =arr.length-count;
			int[] arrnew = new int[newLength];
			int index =0;
			//把旧数组的元素存储到新数组中,存入新数组之前要先判断该元素是否存在新数组中,如果存在,该元素就不要了
			for(int i1 =0;i1<arr.length;i1++) {
				int temp = arr[i1];    //取出旧数组的元素
				int flag =0;
				//检查新数据是否存在取出的元素
					for (int j = 0;j<arrnew.length;j++) {
						if(arrnew[j] == temp) {
							flag = 1;
							break;
						}
					}
					if (flag == 0) {
						arrnew[index++]= temp;
				}
			}
				return arrnew;
	}
}



				
		

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值