【每日一题】2012.5.26:输入两个数组中相同的元素
2012-05-27 09:49
260 查看
第一题:两个数组,大小自定,无序
第二题,如果两个数组都是非递减的
#include <iostream> #include <set> using namespace std; const int N = 20; const int M = 10; void fun(int a[],int b[]) { set<int> num; set<int> result; for(int i=0; i != M; ++i) { num.insert(a[i]); } for(int j=0; j != N; ++j) { if(num.count(b[j])) { result.insert(b[j]); } } for(set<int>::iterator b = result.begin(); b != result.end(); ++b) { cout << *b <<endl; } } int main(int argc,char **argv) { int a[] = {35,26,54,2,4,6,9,8,10,-1}; int b[] = {54,4,3,1,29,88,-2,35,8,9,100,81,79,26,1,555,-33,2,2,6}; fun(a,b); return 0; }
第二题,如果两个数组都是非递减的
//如果两个数组是非递减的 #include <iostream> using namespace std; const int N = 5; const int M = 10; void fun(int a[],int b[]) { int i=0; int j=0; while(j != M && i != N) { if(a[i] > b[j]) { j++; } else if(a[i] < b[j]) { i++; } else { cout << a[i] <<endl; int temp = a[i]; i++; while(temp == a[i]) { i++; if(i >= N) { break; } } j++; while(temp == b[j]) { j++; if(j >= M) { break; } } } } } void main() { int a[] = {2,2,3,4,5}; int b[] = {2,2,3,3,3,3,4,12,13,14}; fun(a,b); }
相关文章推荐
- 给定一个整数数组,两个数字的返回索引将它们加到一个特定的目标中。 您可以假设每个输入都只有一个解决方案,并且您可能不会两次使用相同的元素。
- 用HashSet查找两个int数组中的相同元素
- 找出两个有序数组中相同的元素
- JAVA比较两个数组中的元素是否相同
- 网新恒天笔试题,有两个整形数组A和B,请编程去除这两个数组间的交集。若有相同元素,则在相同元素较多的数组中保留它。例如,数组A有三个1,数组B有两个1,程序将删除数组B中的两个1.
- 两个数组,大小都为n,两个数组里有相同的元素,设计一个算法,找到两个数组中相同的元素
- 判断两个数组中是否有相同元素,有就输出有,没有就输出没有
- java 输入一个整数数组,判断该数组是不是某二叉搜索树的后序遍历的结果。如果是则输出Yes,否则输出No。假设输入的数组的任意两个数字都互不相同。
- jquery判断两个数组中相同元素
- 找两个数组中的相同元素
- iOS_XZ之判断两个数组中的元素相同和相等
- 如何高效地抽离出两个数组中的相同元素
- C语言:判断两个数组是不是有相同的元素
- 定义两个整型指针,分别用malloc、calloc对其分配空间保存3个元素,malloc分配的空间用memset清零,随机对数组进行赋值随机范围1-3,赋值后用memcmp比较两个数组。如果相同打印G
- 定义两个整型指针,分别用malloc、calloc对其分配空间保存3个元素,malloc分配的空间用memset清零,随机对数组进行赋值随机范围1-3,赋值后用memcmp比较两个数组。如果相同打印G
- 目前自己能写出的效率最高的取两个数组中的相同元素
- 返回两个数组中非相同的元素
- JS获取两个数组中相同的元素
- 写文章 JS找两个数组中的相同元素【算法】
- 输入一个整数数组,判断该数组是不是某二叉搜索树的后序遍历的结果。如果是则输出Yes,否则输出No。假设输入的数组的任意两个数字都互不相同。