在一个数组中清除该数组的重复元素,数组不准浪费长度。

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在一个数组中清除该数组的重复元素,数组不准浪费长度。相关的知识,希望对你有一定的参考价值。

思路:

利用两个for循环,第一for循环,目的是拿出每一个数,第二个for循环,把第一次循环的数据和其他数据比较,看有没有重复的数。

当有重复的数给他重新赋值给其赋值为-1,这样一次循环比较久可以找出相同的数,打印的时候,值是-1的,就不打印。

看下代码演示:

 

 1 public class Demo {
 2 
 3     
 4     public static void main(String[] args) {
 5         int[] arr = {11,2,3,11,2,10,4,3,0,0,0};
 6         System.out.println("整理先");
 7         for(int i = 0; i<arr.length;i++){
 8             System.out.print(arr[i]+" ");
 9         }
10         //第一次循环比较数组中的每个数
11         for(int i = 0 ;i<arr.length-1;i++){
12             //第二次循环,把上面要循环的数据,和其他数据相比
13             for(int j = i+1;j<arr.length;j++){
14                 if(arr[i]==arr[j]){//相等的数据就赋值为0
15                     arr[j] = -1;
16                 }
17             }
18             
19         }
20      System.out.println();
21      System.out.println("整理后");
22      for(int i = 0 ; i<arr.length;i++){
23          if(arr[i]!=-1){//整理过后,被重新赋值为-1的就不打印出来
24          System.out.print(arr[i]+" ");
25          }
26      }
27 
28     }
29 
30 }

 

以上是关于在一个数组中清除该数组的重复元素,数组不准浪费长度。的主要内容,如果未能解决你的问题,请参考以下文章

剑指offer_查找数组中的任一重复元素

[转载]C#如何清除字符串数组中的重复项

创建新数组和清除长度之间的区别[重复]

如何找出数组中出现次数超过长度一半的元素

c++如何确认数组的元素为空

leetcode961. 在长度2N的数组中找出重复N次的元素