取两个已排序数组的交集

原创 2007年09月22日 12:07:00

public class t{
 private int[] a={0,1,3,3,5,7,9};//去比较
 private int[] b={-1,0,2,3,4,5,9,9,10};//被比较
 private int[] c=null;
 public t(){
  c=jiaoJi(a,b);
  print(); //打印
 }
 
 public int[] jiaoJi(int[] a,int[] b){ //处理交集函数
  //确定 中间变量数组 jj 的数组大小,其大小为,a,b两数组较小的数组大小
  int size;
  if (a.length>b.length){
   size=b.length;
  }else{
   size=a.length;
  }
                //建立中间变量数组 jj
  int [] jj=new int [size];
  for (int i=0;i<size;i++){ //赋值
   jj[i]=0;
  }
  int k=0;//记录交集元素插入到jj数组的位置
  int e=0;//记录 下一次比较的开始位置
  for (int i=0;i<a.length;i++){
   for (int j=e;j<b.length;j++){
    if (a[i]==b[j]){
     jj[k++]=a[i]; //存储交集元素,数组jj 下标 k 加一
     e=j+1; //记录 下一次比较的开始位置,既从j后面的元素开始
     break;//跳出for循环
    }
   } 
  }
  
  int [] zzjj=new int[k]; //根据K建立交集的是数组zzjj
  for (int i=0;i<k;i++){
   zzjj[i]=jj[i];
  }
  return zzjj;
 }

 public void print(){//打印
  for(int i=0;i<c.length;i++){
   System.out.print(c[i]+", ");
  }
  System.out.println();
 }

 public static void main(String args[]){
  new t(); 
 }
 

求两个排序数组的交集

题目: 有两个数组a{1,5,8,10,14,15,17,18,20,22,24,25,28}和b{2,4,6,8,10,12}, 如何求出他们之间的交集?要求效率越高越好,数组都是从小到大排序好的...

算法5:求两个已排序数组的交集和并集

问题描述求两个已排序数据的交集和并集,要求时间复杂度为O(m+n).解题思路A数组和B数组,A数组大小为m,B数组大小为n。 1、查找B数组的每个成员是否在A数组中,时间复杂度为O(mn) 2、由...
  • pplin
  • pplin
  • 2017年03月06日 14:47
  • 381

两个排序数组中位数

  • 2015年09月04日 17:05
  • 2KB
  • 下载

两个数组合并排序

  • 2008年08月01日 00:39
  • 428B
  • 下载

合并两个二叉排序树(二叉查找树)到一个数组中

package Training; import java.util.Stack; import Training.BinaryTree.TreeNode; /** * Content:合并两个...

求两个数组的交集

  • 2013年11月24日 21:44
  • 22KB
  • 下载

数组排序中NSSortOptions两个参数详解(NSSortConcurrent、NSSortStable)

我们在进行数组排序的时候,很多时候可以根据参数理解意思,并且给定自己要传递的参数。在OC中数组排序的时候,其它方法都有对应的解释,...

两个有序数组求交集,C++

  • 2010年11月01日 16:18
  • 692B
  • 下载

排序数组中和为给定值的两个数字

题目:输入一个已经按升序排序过的数组和一个数字,在数组中查找两个数,使得它们的和正好是输入的那个数字。要求时间复杂度是O(n)。如果有多对数字的和等于输入的数字,输出所有的数对(原文章只要求输出任意一...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:取两个已排序数组的交集
举报原因:
原因补充:

(最多只允许输入30个字)