Friday, March 13, 2020

Viết chương trình tìm giao điểm của 2 mảng trong java

Trước khi đưa ra các ví dụ mã hóa, trước tiên chúng ta nên hiểu Giao lộ của hai mảng là gì?
Giao nhau của hai mảng có nghĩa là tìm ra các yếu tố phổ biến hoặc các yếu tố phù hợp. Hầu hết các cuộc phỏng vấn java kỹ thuật dựa trên thuật toán đã phục vụ câu hỏi này như là một công thức khởi động cho các sinh viên.
Viết chương trình tìm giao điểm của 2 mảng trong java

Vì vậy, người ta nên chuẩn bị câu hỏi này trước khi xuất hiện cho các cuộc phỏng vấn kỹ thuật.
Ví dụ: Giả sử chúng ta đã đưa ra hai mảng
array1  contains { 0 ,  1 , 2 ,  3 ,  4  ,  5  }
array2  contains  {  4 ,  7 , 8 , 9 , 10 , 1 }
Khi đó giao điểm của mảng1 và mảng2 sẽ là: {1, 4}
Thuật toán tìm giao điểm của mảng
1. In cả hai mảng đã cho
2. Lặp qua mảng thứ nhất cho đến chiều dài mảng đầu tiên Bên trong vòng lặp mảng thứ nhất, lặp lại mảng thứ hai cho đến chiều dài của mảng thứ hai
2.1 So sánh các phần tử của mảng thứ nhất với các phần tử của mảng thứ hai
2.2 Nếu phần tử mảng thứ nhất khớp với phần tử mảng thứ hai mảng kết quả thứ ba mới và lưu trữ phần tử phù hợp trong nó khác tiếp tục
3. In mảng kết quả thứ ba hiển thị giao điểm của hai mảng đã cho
Sau đây là chương trình:
public class Intersection {
   
    /**
    * @param args
    */
   
    static int i,j,k,c=0,w;
   
    public static void main(String[] args)
    {
       
        int[] x= {2,5,3,7};
        System.out.println("The first array is " +"  ");
        for(int i=0;i;x.length;i++)
        System.out.print(x[i]+"  ");
        System.out.println("");
        int[] y={5,2,9,0,1};
        System.out.println("The second array is " +"  ");
        for(int j=0;j;y.length;j++)
        System.out.print(y[j]+"  ");
        System.out.println("");
        intersection(x,y);
    }
   
   
    static void intersection(int x[],int y[])
    {
        int []z=new int[x.length+y.length];
        for(i=0;i <(x.length);i++)
        {
            for(j=0;j < y.length;j++)
            {
                if(x[i]==y[j])
                {
                    z[c]=x[i];
                   
                    c++;
                }
               
                else
                continue;
               
            }
        }
        System.out.println("Intersection of two  array is " +"  ");
        for(k=0;k < c;k++)
        {
            System.out.print("  "+z[k]+" ");
        }
        System.out.println("            ");
    }
   
}

No comments:

Post a Comment