赞
踩
找出两个有序数组的公共元素,例:有序数组[3, 5, 7, 8, 10, 12]和有序数组[15, 10, 8, 7, 4, 3, 1]的公共元素为(8, 10)
- #include<iostream>
- #include<vector>
-
- using namespace std;
-
- int main()
- {
- int m,n;
- vector<int> a;
- vector<int> b;
- cout<<"Please input array a[]:"<<endl;
- while(cin>>m)
- {
- if(m!=-1)
- a.push_back(m);
- else
- break;
- }
- cout<<"Please input array b[]:"<<endl;
- while(cin>>n)
- {
- if(n!=-1)
- b.push_back(n);
- else
- break;
- }
- cout<<"The same integers are:"<<endl;
- int i=0,j=0;
- while(i<a.size() && (j<b.size()))
- {
- if(a[i]<b[j])
- i++;
- else if(a[i]==b[j])
- {
- cout<<a[i]<<' ';
- i++;
- j++;
- continue;
- }
- else
- j++;
- }
- cout<<endl;
- }
有序数组,没什么难度!!!
其时间复杂度为O(max(m,n));其中 m 为数组 a 的长度,n 为数组 b 的长度。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。