zoukankan      html  css  js  c++  java
  • Java 清除数组相同元素

    定义一个函数清除该数组的重复元素,返回一个不能浪费长度的数组.
    代码如下:

    import java.util.*;
    public class demo1 {
        public static void main(String[] args) {        
            int[] arr = {11, 2, 4, 2, 10, 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 - 1; i++) {
                for (int j = i + 1; j < arr.length; j++) {
                    if (arr[i] == arr[j]) {
                        count++;
                        break;
                    }
                }
            }
            int newLength = arr.length - count;
            int[] newArr = new int[newLength];
            int index = 0;
            for (int i = 0; i < arr.length; i++) {
                int temp = arr[i];
                boolean flag = false;
                for (int j = 0; j < newArr.length; j++) {
                    if (temp == newArr[j]) {
                        flag = true;
                        break;
                    }
                }
                if (flag == false) {
                    newArr[index++] = temp;
                }
            }
            return newArr;
        }
    }
    import java.util.*;
    public class demo1 {
        public static void main(String[] args) {        
            int[] arr = {11, 2, 4, 2, 10, 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 - 1; i++) {
                for (int j = i + 1; j < arr.length; j++) {
                    if (arr[i] == arr[j]) {
                        count++;
                        break;
                    }
                }
            }
            int newLength = arr.length - count;
            int[] newArr = new int[newLength];
            int index = 0;
            for (int i = 0; i < arr.length; i++) {
                int temp = arr[i];
                boolean flag = false;
                for (int j = 0; j < newArr.length; j++) {
                    if (temp == newArr[j]) {
                        flag = true;
                        break;
                    }
                }
                if (flag == false) {
                    newArr[index++] = temp;
                }
            }
            return newArr;
        }
    }
  • 相关阅读:
    最小生成树(Prim和Kruscal)
    SPFA(还是稍微写写吧,虽然没什么用)
    最短路径(随便写写)(Floyd,Bellman-Ford,Dijkstra)
    Just a Hook HDU
    数论逆元
    最长上升子序列(LIS)算法(附Codeforces Round #641 (Div. 2),B题题解)
    Educational Codeforces Round 86 (Rated for Div. 2)
    Codeforces Round #633 (Div. 2)
    Codeforces Round #631 (Div. 2)
    Mayor's posters(线段树离散化)
  • 原文地址:https://www.cnblogs.com/Liang-Haishan216/p/6181844.html
Copyright © 2011-2022 走看看