找出两个有序数组的公共子数组

2017年美团在线笔试编程题——找出两个有序数组的公共子数组

  请设计一个算法能够找出两个有序数组的公共子数组;

比如数组a={1,2,3,8,9}和b={8,9,10},则输出output={8,9}


function findCommon(a,b){
      var i=0,j=0;
  var common=[];count=0;
  while(ilength&&jlength) {

    if(a[i]>b[j]){
      j++;
    }
    else if(a[i]j]){
      i++;
    }
    else{
      common[count++]=a[i];
      i++;
      j++;
    }
  }
  return common;

}
var a=[1,2,3,8,9];var b=[8,9,10];console.log(findCommon(a,b));

你可能感兴趣的:(面试)