java习题之数组去重

本关任务:去除数组中的重复数据。

  • 接收给定的数据(如:4 88 43 43 98 #...,其中第一个数代表数组长度,其余数代表数组元素,# 号用于终止接收数据,这些数据用空格进行分隔),遇到 # 号终止接收;

  • 去除数组中重复元素并输出去重后的数组   

很高兴昨天刚刷的leetcode第一题这么快就能排上用场

import java.util.Scanner;
public class ArrTest {
    public static void main(String[] args) {
        // 请在Begin-End间编写代码
        /********** Begin **********/
        // 接收给定的数据
        Scanner scan = new Scanner(System.in);
        int length = scan.nextInt();
        int i;
        int[] sum = new int[length];
        for(i=0;i<length;i++){
            sum[i] = scan.nextInt();
        }
        int x;
        int y;
        int mus = 0;
        for(x=0;x<length;x++){
            for(y=x+1;y<length;y++){
                if(sum[x] == sum[y]){
                    mus++; // mus-1 就是新数组的长度
                    sum[y] = 0;
                }

            }
        }
        int q;
        for(q=0;q<length;q++){
            if(sum[q] != 0){
            System.out.println(sum[q]);
            }
        }
        
        int[] newArray = new int[length - (mus-1)];
        int p;
        /*
        for(p=0;p<length;p++){
            if(sum[p] != 0){
                newArray[p] = sum[p]; 
                // System.out.println(newArray[p]);
            }
        }
        */



        
        // 通过临时数组对原数组去重,最后将临时数组赋值给原数组
      
        // 打印去重后的数组值
    
        /********** End **********/

    }
}

思想待更

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值