/*携程面试*/四个数组,都已经排好序,找出四个数组的交集
首先找连个数组的交集,分别指定i,j指向连个数组头部,对i,j进行
比较,i的值大于j的值,j++;i的值小于j的值,i++;相等,则保存;
然后再求连个交集的交集;复杂度应为O(M+N+P+Q)
//求数组a,b交集;交集存于a,并返回k,k为交集长度;
1 //求数组a,b交集;交集存于a,并返回k,k为交集长度; 2 Intersection(int a[],int b[],int a_size,int b_size) 3 { 4 if(a_size<=0&&b_size<=0) exit(0); 5 int i=0,j=0,k=0; 6 while(i<a_size&&j<b_size) 7 { 8 if(a[i]>a[j]) j++; 9 else if(a[i]<a[j]) i++; 10 else 11 { 12 a[k]=a[i]; 13 i++; 14 j++; 15 k++; 16 } 17 } 18 return k; 19 }
//求a,b,c,d的交集;交集存于a,并返回k,k为交集长度; Intersection_4(int a[],int b[],int c[],int d[],int a_size,int b_size,int c_size,int d_size) {a.size=Intersection(a,b,a_size,b_size);c.size=Intersection(c,d,c_size,d_size);return Intersection(a,c,a_size,c_size); }
转载于:https://www.cnblogs.com/liji5112/p/4331028.html
/*携程面试*/四个数组,都已经排好序,找出四个数组的交集相关推荐
- python查找两个数组中相同的元素_找出两个数组的相同元素,最优算法?
在做新旧接口交替过程中,遇到了老接口和新接口json数据有些不一致的情况,需要比较两个json对象,把相同的元素赋其中一个json对象中变量的值.而且其中一个json最后输出格式还需要改变下属性名,思 ...
- 携程python工程师_携程面试之后的一些感想
最近工作比较忙,没有时间思考和学习,再加上报了个驾校,准备科目三,落下许多. 前一段时间去携程面试,曾经去过一次,不是有意黑携程,对携程的印象越来越差. 1.办公环境,感觉比较拥挤,没有个人空间 台式 ...
- Java 找出四位数的所有吸血鬼数字 基础代码实例
/** * 找出四位数的所有吸血鬼数字 * 吸血鬼数字是指位数为偶数的数字,可以由一对数字相乘而得到,而这对数字各包含乘积的一半位数的数字,其中从最初的数字中选取的数字可以任意排序. * 以两个 ...
- 数组合并假设有 n 个长度为 k 的已排好序(升序)的数组,请设计数据结构和算法,将这 n 个数组合并到一个数组,且各元素按升序排列。即实现函数-C-icoding-排序-数据结构
数组合并 假设有 n 个长度为 k 的已排好序(升序)的数组,请设计数据结构和算法, 将这 n 个数组合并到一个数组,且各元素按升序排列.即实现函数: void merge_arrays(const ...
- JS案例——找出两个数组中的不同元素或对象、数组去重
一.找出两个数组中的不同元素或对象 1. 数据 var arr1 = ["张瑞淑", "徐海涛", "谢岗岗", "薛鹏" ...
- 找出两个数组相同的元素
题目:找出两个数组(有重)相同的元素,两种方法 public class 出两个数组相同的元素 { public static void main(String[] args) { // TODO A ...
- 汇编语言(十五)之找出两个数组中的相同元素
找出两个数组中的相同元素,并且输出 程序运行: 代码: datas segmentA dw -1,-2, 3, 4, 5, 6, 7, 8, 9, 10,-11, 12, 13, 14, 15ACou ...
- 经典例题:判断给定数组是否已经排好序
判断给定数组是否已经排好序 输入纯数字.纯大写字母.纯小写字母或者其三者的混合,若为纯数字序列,则按数字大小顺序判断,若为混合序列,则按ASCII表的顺序大小判断. 例如: 输入:1 3 a b A ...
- js 快速找出两个数组中的不同元素或对象
js 快速找出两个数组中的不同元素 var arr1 = [0,1,2,3,4,5]; var arr2 = [0,4,6,1,3,9]; function getArrDifference(arr1 ...
- 写一个函数找出一个整数数组中,第二大的数
题目:写一个函数找出一个整数数组中,第二大的数. 算法分析: 1)假设数组中的前两个元素就是最大和第二大,即max和smax: 2)从数组的第二个元素开始遍历数组,当有元素大于max的时候,将max赋 ...
最新文章
- 全球人形机器人接连突破 拟人度越来越高
- 计算机控制刘世荣习题,谢谢你,曾经允许我不爱刘世荣①星期一的早晨,我紧张而又兴奋,因...
- ehcache 清除缓存_如何设计一个本地缓存
- 话里话外:企业内控的灵魂——企业文化
- Object_C与JavaScript交互使用总结
- 如何快速在 Springboot 中集成拦截器? | 原力计划
- php怎么代表不同行,php – 单击按钮时显示数据库的不同行
- 四则运算2之设计思路篇
- linux ssh 双机互信
- 默认smtp虚拟服务器,轻松架设自己的SMTP服务器
- http中get和post详解
- apache ActiveMQ反序列化漏洞(CVE-2015-5254)复现
- c语言步长,(转+原创)c语言那些细节之a+1和a+1的区别 ,指针的步长问题。
- Foxmail登录各种邮箱方法汇总
- SQL REGEXP_SUBSTR的用法
- RabbitMq集成SpirngBoot
- JAVA考试多选题判断得分
- 小程序轮播图_厉害!对准不认识的野生菌拍个图,云大学生设计的这个小程序就能自动识别…...
- 实例004 计算正方形的边长
- xlrd python读取excel 编码错误_python读取excel数据报xlrd.biffh.XLRDError错误原因