4.两数组的中值

2019-05-06  本文已影响0人  New_Learner

给定两有序数组,求两数组的中值。要求复杂度为O(m+n),即线性复杂度。

思路1.合并后再求中值,合并的复杂度为O(m+n),求中值复杂度O(1),满足要求,但是占用了额外的空间。需要注意的是,返回的是一个double,但是对int做初等运算得到的结果还是int 所以要进行类型转换。

合并后寻找中值

思路2. 由第一条启发,为什么要完全合并呢?在合并的时候记个数不就可以了吗?只要当计数器跑到了中值直接break就可以省去后面的无意义操作了。

合并的同时寻找中值
上一篇下一篇

猜你喜欢

热点阅读