保健励志美文体育育儿作文
投稿投诉
作文动态
热点娱乐
育儿情感
教程科技
体育养生
教案探索
美文旅游
财经日志
励志范文
论文时尚
保健游戏
护肤业界

每日一刷面试题,面试必过!之数据结构数组(3)

  想要面试过的去,必须每日一刷题!
  关于Android面试这里我就不多讲了,直接上题。面试题:1。寻找数组中第二小的元素直接排序(冒泡n2、快排nlgn)根据索引找到对应值遍历一次,定义两个变量:一个变量用来存储数组的最大数,初始值为数组首元素,另一个变量用来存储第二大的数。
  编码:1。publicstaticvoidfindSecond(inta〔〕){2。if(a。length3){3。System。out。println(数组太小);4。}5。intmax0,min0;6。for(inti1;ia〔i1〕i2){确定两个最大初始值8。maxa〔i〕;9。mina〔i1〕;10。continue;11。}12。if(a〔i〕maxi1){大于最大值13。minmax;14。maxa〔i〕;15。}16。if(a〔i〕maxa〔i〕mini1){介于两者之间17。mina〔i〕;18。}19。}20。System。out。println(max:max);21。System。out。println(min:min);22。}2。找到数组中第一个不重复出现的整数用数组存储每个数字出现的次数,但题目只需要找到第一个不重复出现的数,故浪费空间,O(N2)双循环,找到第一个不重复,即返回,O(N2)
  编码1:1。2。找出数组中第一个不重复的数字,如果没有就返回null3。4。publicclassFirstDupNum{5。Test6。publicvoidstart(){7。int〔〕arr{1,2,3,9,7,66,5,5,4,66,3,7,2,9,0,0,1,4};8。System。out。println(handler(arr));9。}10。publicIntegerhandler(int〔〕arr){11。Integerpositionnull;12。for(inti0;iarr。length;i){13。for(intj0;jpreh1classpgcharrowrightdatatrack153。合并两个有序数组h1pdatatrack16strongspanstylecolor:333333;ttdarkmodecolor:A3A3A3;给定两个有序整数数组nums1和nums2,将nums2合并到nums1中,使得num1成为一个有序数组。spanstrongpdatatrack17strongspanstylecolor:333333;ttdarkmodecolor:A3A3A3;示例:spanstrongullidatatrack18spanstylecolor:333333;ttdarkmodecolor:A3A3A3;nums1〔1,2,3,0,0,0〕,m3spanlilidatatrack19spanstylecolor:333333;ttdarkmodecolor:A3A3A3;nums2〔2,5,6〕,n3spanlilidatatrack20spanstylecolor:333333;ttdarkmodecolor:A3A3A3;输出:〔1,2,2,3,5,6〕spanliulpdatatrack21strongspanstylecolor:333333;ttdarkmodecolor:A3A3A3;方法一:合并后,七大排序spanstrongspanstylecolor:333333;ttdarkmodecolor:A3A3A3;这个方法有点生硬,我将nums2数组拷贝到nums1后面,然后得到一个无顺序的数组,这个时候我们学过的七大排序就派上用场了,这里我采用插入排序为例子:spanprecode1。classSolution{2。publicvoidmerge(int〔〕nums1,intm,int〔〕nums2,intn){3。if(n0){4。return;5。}6。for(inti0;inums2。length;i){7。nums1〔mi〕nums2〔i〕;8。}9。insertSort(nums1,mn);10。}11。publicvoidinsertSort(int〔〕array,intlength){12。这是插入排序13。for(intbound1;boundlength;bound){14。inttmparray〔bound〕;15。intcurbound1;16。for(;cur0;cur){17。if(array〔cur〕tmp){18。array〔cur1〕array〔cur〕;19。}else{20。break;21。}22。}23。array〔cur1〕tmp;24。}25。}26。}
  时间复杂度:O(N2)空间复杂度:O(1)
  方法二:合并后排序arraycopy(Objectsrc,intsrcPos,Objectdest,intdestPos,intlength)Copiesanarrayfromthespecifiedsourcearray,beginningatthespecifiedposition,tothespecifiedpositionofthedestinationarray。意思是,将src数组拷贝到dest目标数组,从0(srcPos)开始拷贝,拷贝到目标数组从m(destPos)开始拷贝,拷n这么长1。publicvoidmerge(int〔〕nums1,intm,int〔〕nums2,intn){2。System。arraycopy(nums2,0,nums1,m,n);3。Arrays。sort(nums1);排序4。}
  方法三:双指针法这个方法有点类似合并两个有序链表也是用两个指针,一个指向nums1(Copy),一个指向nums2,比较大小然后放入nums1中具体实现代码如下:1。publicvoidmerge(int〔〕nums1,intm,int〔〕nums2,intn){2。int〔〕nums1Copynewint〔m〕;3。将nums1新拷贝一份4。System。arraycopy(nums1,0,nums1Copy,0,m);两个指针,一个指向nums1Copy,一个指向nums2intp10;intp20;intp0;指向nums1最终要输出的while((p1m)(p2n)){nums1〔p〕(nums1Copy〔p1〕nums2〔p2〕)?nums1Copy〔p1〕:nums2〔p2〕;}if(p1m)System。arraycopy(nums1Copy,p1,nums1,p,mp1);if(p2n)System。arraycopy(nums2,p2,nums1,p,np2);}4。重新排列数组中的正值和负值
  给定一个包含正数和负数的整数数组,重新排列它,使得所有的负数排在前面,所有的正数排在后面。正数间和负数间的相对顺序保持不变。期望时间复杂度是O(n),空间复杂度是O(1)。
  例如:给定〔1,2,2,3,5,4〕,重新排列后变成〔1,2,4,2,3,5〕
  分析:最简单的算法是O(n2),遇到每个负数都把它移动到数组前面已经排列好的负数部分后面。O(n)的算法暂时没想出来,似乎比较难,下面给出一个O(nlogn)的算法。基本思想类似于MergeSort。空间复杂度由于用到递归,是O(logn)。不过可以很容易改写为bottomup的迭代版本。
  编码:1。voidMain()2。{3。int〔〕numsnewint〔〕{1,2,2,3,5,4};4。5。Reorder(nums,0,nums。Length1);6。}7。8。Defineothermethodsandclasseshere9。publicvoidReorder(int〔〕nums,intstart,intend)10。{11。if(startend){12。return;13。}14。15。intmiddlestart(endstart)2;16。Reorder(nums,start,middle);17。Reorder(nums,middle1,end);18。Merge(nums,start,middle,end);19。}20。21。privatevoidMerge(int〔〕nums,intstart,intend)22。{23。intistart;24。while(nums〔i〕0iend)i;25。intjend;26。while(nums〔j〕0jstart)j;27。28。Shiftthenegativeparttothefront29。if(ij){30。intkj;31。while(kinums〔k〕0)k;32。33。Reverse(nums,i,k);34。Reverse(nums,k1,j);35。Reverse(nums,i,j);36。}37。}38。39。privatevoidSwap(int〔〕nums,inti,intj)40。{41。inttnums〔i〕;42。nums〔i〕nums〔j〕;43。nums〔j〕t;44。}45。46。privatevoidReverse(int〔〕nums,inti,intj)47。{48。while(ij){49。Swap(nums,i,j);50。i;51。j;52。}53。}
  下面是自底向上的迭代版本。空间复杂度是O(1)。1。publicvoidReorder(int〔〕nums)2。{3。intnnums。Length;4。5。for(intsize1;sizen;sizesize)6。{7。for(intlow0;lownsize;lowsizesize)8。{9。Merge(nums,low,Math。Min(lowsizesize1,n1));10。}11。}12。}总结:
  上面所述就是常常被问到的数据结构的数组面试题;后续还有算法、数据结构、Java面试、Android面试题。
  自己也是从事Android开发5年有余了;最近整理了一些Android面经题纲,里面讲解的非常详细。想要进阶自己、拿高薪的同学请私信我回复核心笔记或面试领取!

一次做饭的感想小学六年级作文范本一次做饭的感想小学六年级作文篇1今天,表妹来我家玩,正巧昨天妈妈刚给我买了一套玩具,于是我们就玩起了做饭游戏。首先我们要去赶集,我们来到集市(厨房),这儿找找,那儿……记一次辩论会的小学生作文事情是这样的。上周班主任黄老师在班里宣布:同学们,下个星期五下午,我们班要举行一场五〈5〉小小辩论赛,辩论的主题是:上网和看电视能不能取代阅读。有兴趣的同学下课到叶影那里报名。……初中环保作文大自然的倾诉朋友们,我是大自然,怎么你们不认识我了?别看我现在满目疮痍的样子,以前我可是一片翠绿呀!可爱的动物们都住在这里,快活地生活,我也十分高兴。可是自从你们这些人类来了以后,一会儿使……狠抓绿色低碳技术攻关加快先进技术推广应用中国船舶广船国际攻克5月18日,以戊烷为新型焊割燃料的工业化应用成果发布会在中国船舶集团广船国际有限公司举行。据了解,该成果是广船国际联合圣火能源科技(广东)有限公司联合研发的一项新技术,也是国内……读西游记有感450字《西游记》是我国古代四大名著之一,乃明朝著名作家吴承恩的得意之作,堪称中国古代文学史上的奇迹。《西游记》主要讲述了唐僧、孙悟空、猪八戒、沙僧师徒四人在历经九九八十一难后到……俄研发猴痘病毒检测盒已完成实验室测试新华社莫斯科5月21日电(记者刘恺)俄罗斯矢量病毒学与生物技术国家科学中心(下称矢量中心)科研人员研制出了一种自动操作的检测试剂盒(下称检测盒),可用于检测包括猴痘病毒在内的正……六年级写人作文我心目中的好老师那是一节早读课,语文老师让我们背下课文的同学在教室内默写,没背下的同学在过道内默背。很快同学分成两类:一部分在内,一部分在外。老师监督默写情况。教室内鸦雀无声,教室外只听见悉悉……军训生活小学作文在日常学习、工作和生活中,大家都接触过作文吧,作文是经过人的思想考虑和语言组织,通过文字来表达一个主题意义的记叙方法。那么你知道一篇好的作文该怎么写吗?下面是小编收集整理的军训……教师作文之意外收获的美丽当我们懂得爱孩子的时候,就会出现教育的彩虹!我一直在想,如何让爱的教育融入在我们的课堂中,而就在那一次,我真真切切让孩子,也让自己触摸到了一份真爱。课堂上,我教学一……形容自我为中心的词语凡事都只希望满足自己的欲望,要求人人为己,却置别人的需求于度外,形容自我为中心的词语有哪些?大家不妨来看看小编推送的形容自我为中心的词语,希望给大家带来帮助!我行我素,自……小学生感恩节作文500字用感恩惜福的心情过好每一天摘要:我们每个人都明白自然界中生命的整体是相互依存的,任何生物都不可能不依赖于别的生物而独立存在;无论是父母的养育,师长的教诲,配偶的关爱,他人的服务,大自然的赐予hellip……升级到第三代屏下摄像技术的Axon40ultra,能叫好又叫2022年5月9日,中兴推出了旗下采用第三代屏下摄像技术的Axon40系列,包含了Axon40、Axon40Pro和Axon40Ultra等多款机型。其中作为Axon40系列顶……
中国科学院院士中国工程院院士李德仁北斗原有的三个优势,GPS贵阳网讯5月25日,2021数博会第三届位置服务科技论坛举行。中国科学院院士、中国工程院院士李德仁在论坛上说,北斗是卫星导航定位系统,我们的北斗比GPS做得晚一些。之前,我们有……农村换上新型智能电表以后,为什么有的农民说电费比以前交的多了科学兴农为您解答。提要:辟谣:农村电路改造后换得新电表真的被加速了吗?春节回家发现农村老家的线路又进行了一轮改造,而且电表也进行了更新换代升级,已经实现了足不出户即……月租金399元起,换电能解决新能源车主的续航焦虑吗?中新经纬4月24日电(牛朝阁)买车时选择了租用电池方案,在35。8万元的总价上减了7万元。近期,新能源车主魏先生告诉中新经纬。不少像魏先生一样被充电焦虑支配的新能源车主开……俄罗斯法院驳回苹果上诉,将继续进行反垄断调查IT之家4月23日消息,在苹果公司的上诉被驳回后,俄罗斯联邦反垄断局已获准开始对AppStore进行反垄断调查。由于苹果要求重新审查俄罗斯机构的调查理由的上诉被驳回,反垄……中央网信办3月微博抖音等主要商业网站平台网络侵权举报达37。为切实维护网民合法权益,深入整治网络暴力,营造良好网络生态,中央网信办违法和不良信息举报中心(以下简称中央网信办举报中心)近期指导国内主要商业网站履行平台主体责任,畅通举报渠道……盈利低点已过,智能穿戴或将成蓝思科技未来重要看点4月22日晚间,蓝思科技同步披露了2021年年度报告和2022年第一季度报告。公告显示,2021年,蓝思科技实现营业收入452。68亿元,再创历史新高,但在2022年一季度,受……关于有一种声音在记忆深处的写事作文1000字声音,如过眼云烟,想要追寻,却寻不见。yjbys作文网小编整理了关于有一种声音在记忆深处的作文,看看会不会引起你们的共鸣。有一种声音在记忆深处作文1有一种声音在记忆……同桌我想对你说写人作文600字我的同桌是董之。虽然只坐了半个学期,但是,我已经了解了他。我想对同桌说:其实你很聪明,但是因为你的不努力和上课讲话等原因是你的成绩直线下降,只有你不断地努力,才能使你的成绩提高……护脸计划一周年行业将迎来良性循环发展本报记者曲忠芳李正豪北京报道由中国信息通信研究院云计算与大数据研究所发起的可信人脸应用守护计划(以下简称护脸计划),自2021年4月启动至今,已有一年时间。护脸计划……凉爽的夏季今年的暑假天气特别的热,但闲遐时听爸爸讲着他童年的趣事也就感觉清凉了许多。生于六十年代的爸爸上学时作业不像我现在那么多,所以有很多时间可以供他调皮玩耍。夏季,对他诱……赏梅记的写景作文阳春三月,梅花开得正盛,今天,我又游红梅公园,赏一赏古代文人墨客笔下的宠儿梅花。走进红梅公园,梅花走廊映入眼帘,那五颜六色的梅花花枝招展,招呼着客人们。一眼望去,眼花缭乱……AMD锐龙7000系列CPU曝光Arm2021年实现27亿美两分钟了解芯片大事AMD锐龙7000拉斐尔系列CPU曝光外媒在Openbenchmarking数据库中发现了AMD锐龙7000系列桌面处理器的身影。这些CPU具有8个Ze……
友情链接:易事利快生活快传网聚热点七猫云快好知快百科中准网快好找文好找中准网快软网