当前位置:   article > 正文

找出两个有序数组的公共元素_找到两个属于的公共元素

找到两个属于的公共元素

找出两个有序数组的公共元素,例:有序数组[3, 5, 7, 8, 10, 12]和有序数组[15, 10, 8, 7, 4, 3, 1]的公共元素为(8, 10)

  1. #include<iostream>
  2. #include<vector>
  3. using namespace std;
  4. int main()
  5. {
  6. int m,n;
  7. vector<int> a;
  8. vector<int> b;
  9. cout<<"Please input array a[]:"<<endl;
  10. while(cin>>m)
  11. {
  12. if(m!=-1)
  13. a.push_back(m);
  14. else
  15. break;
  16. }
  17. cout<<"Please input array b[]:"<<endl;
  18. while(cin>>n)
  19. {
  20. if(n!=-1)
  21. b.push_back(n);
  22. else
  23. break;
  24. }
  25. cout<<"The same integers are:"<<endl;
  26. int i=0,j=0;
  27. while(i<a.size() && (j<b.size()))
  28. {
  29. if(a[i]<b[j])
  30. i++;
  31. else if(a[i]==b[j])
  32. {
  33. cout<<a[i]<<' ';
  34. i++;
  35. j++;
  36. continue;
  37. }
  38. else
  39. j++;
  40. }
  41. cout<<endl;
  42. }

有序数组,没什么难度!!!

其时间复杂度为O(max(m,n));其中 m 为数组 a 的长度,n 为数组 b 的长度。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/我家自动化/article/detail/685256
推荐阅读
相关标签
  

闽ICP备14008679号