簡體   English   中英

兩個隨機形成的java數組之間的公共元素

[英]Common elements between two randomly formed java arrays

問題的框架:編寫一個名為 CommonElements 的類,其中包含一個 main 方法,它將:

使用 RandomIntegerArrayCreator 類型對象及其方法創建和獲取兩個整數數組(arrayA 和 arrayB),找到 arrayA 和 arrayB 之間公共元素的數量(例如:如果整數 2 在 arrayA 中出現一次和在 arrayB 中出現兩次,則算作一個公共元素兩者之間),

約束/注意事項:所有數組元素都是集合 {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10} 中的整數,並且可以在每個數組中出現多次,數組 A 和 B 都可以不必具有相同的大小,數組 A 和 B 可以為空(沒有元素),數組 A 和 B 不會被排序。

我已經創建的代碼:

import java.util.Random;

public class RandomIntegerArrayCreator {
    int[] arr;

    RandomIntegerArrayCreator(){
        Random rand = new Random();

        int size = rand.nextInt(16);
        arr = new int[size];
        for(int i=0;i<size;i++){

            arr[i] = rand.nextInt(11);
        }
    }
    public int getArraySize(){
        return this.arr.length;
    }
    public int[] getArray(){
        return this.arr;
    }
    public static void main(String[] args) {
        RandomIntegerArrayCreator r = new RandomIntegerArrayCreator();
        System.out.println("Size = "+r.getArraySize());
        int[] arr = r.getArray();
        System.out.print("Generated array is ");
        for(int i=0;i<arr.length;i++){
            System.out.print(arr[i]+" ");
        }
    }
}

這是您要查找的偽代碼。

for i=0, i<size arrayA
  for j=0, j<size arrayB
     if arrayA[i] == arrayB[j]
        if(arrayA is not in dummyarray)
            dummyarray.append(arrayA[i])
            counter++

編輯:基本上,您遍歷 arrayA 並遍歷 arrayB 中的每個元素並檢查是否存在匹配的內容(例如,arrayA[3] = 4 和 arrayB[2] = 4,則存在匹配)。 您將該號碼添加到一個虛擬列表中,稍后您可以檢查該列表是否存在重復的匹配項。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM