2个有序数组,找出相同元素
来源:互联网 发布:55开淘宝店地址 编辑:程序博客网 时间:2024/05/21 11:07
#include<iostream>#include<vector>using namespace std;//2个有序数组,a1,a2,...an,b1,b2,...bm,都是从小到大的顺序排列。要求在最短时间内,找出其中相同元素。void FindCommon(const vector<int>& a, const vector<int>& b, vector<int>& c){ int posA = 0; int posB = 0; while (posA < a.size() && posB < b.size() ) { if (a[posA] > b[posB]) posB++; else if (a[posA] < b[posB]) posA++; else { //c.insert(c.end(), a[posA]); //在任意地方插入值 c.push_back(a[posA]);//在末尾插入值 posA++; posB++; } } for(int i = 0; i < c.size(); i++) {cout << c[i];}}/*void FindCommon(const vector<int>& a, const vector<int>& b, vector<int>& c) { int sa = a.size(); int sb = b.size(); int i = 0, j = 0; int cnt = 0; while(i < sa && j < sb) { if(a[i] == b[j]) { cnt++; if(cnt == 1) c.push_back(a[i]); i++; j++; cnt=0; } else if(a[i] < b[j]) { i++; cnt = 0; } else { j++; cnt = 0; } } for(int i = 0; i < c.size(); i++) {cout << c[i];}}*/int main(){ vector<int> a, b, c; a.push_back(4); a.push_back(4); a.push_back(5); a.push_back(6); b.push_back(2); b.push_back(4); b.push_back(5); b.push_back(6); FindCommon(a, b, c); system("pause");}
0 0
- 2个有序数组,找出相同元素
- 找出两个有序数组中相同的元素
- php找出两个有序数组中的相同元素
- 找出数组相同元素
- 2个整数有序数组中相同元素的个数--java实现
- 找出两串有序数组中相同的元素, 并存入新数组中的目前最快方法
- 两个有序数组判断存在相同元素
- 两个数组中找出相同的元素
- 找出两个数组中相同的元素
- js找出两个数组中的相同元素
- JavaShowAlgorithm-找出数组中相同的元素
- 比较2个数组元素元素是否相同
- 2个数组中遍历相同元素或不同元素
- 找出有序元素数组中指定元素出现的次数
- java数组:2个数组,查出相同的元素
- java找出2个集合相同和不同的元素(以及去除List中的重复元素)
- java找出2个集合相同和不同的元素(以及去除List中的重复元素)
- java找出2个集合相同和不同的元素(以及去除List中的重复元素)
- WPF 更改StartupUri方式
- JSP内置对象之域对象
- ARM编程
- Lua与宿主语言(C/C++)交互原理
- JavaServer Faces 2.0 can not be installed解决方案
- 2个有序数组,找出相同元素
- 51nod 算法马拉松22 完全图的最小生成树计数 【Trie树+图论】
- alter和modify的区别
- python面向对象基本知识
- 前端技能练习:对于li这个节点,下列哪个 CSS 选择器的优先级最高?
- Android学习之Service(一)
- 设计模式笔记二十四:模板模式
- JavaWeb开发
- Ubuntu12.04调整系统字体大小