感觉这个算法有问题

来源:13-5 查找两个子视图的共同父视图算法相关面试问题

慕尼黑7794356

2018-07-27

实际上这个应该考的点是求交集,但是老师这里的算法应该是有问题的。

比如视图层级是这样的

A-B-C-D

A-B-E

老师这样比较就会是这样的,拿到他们的父视图数量所以最少比较2次

第一次C-B

第二次B-A

当然都不对啊


写回答

1回答

于海

2018-07-27

能写这些内容来求解,说明你很认真,专注值得鼓励!不过需要注意看视频讲解和工程算法的源码。
再此,给你再梳理一遍
比方说:求E和C的共同父视图 第一,先各自遍历两个视图的全部子视图,存储到数组当中 List1 : [E,D,B,A] List2: [C,B,A] 第二, 以倒叙方式循环遍历,循环次数MIN(list1.count, list2.count)当遍历到D和C比较的时候发现不一样 break遍历过程 算法整体时间复杂度O(n)

1
7
慕后端8337078
回复
慕勒9123254
oc没有多继承,不存在你说的这种情况。按你说的B就有两个父类,就多继承了。
2020-11-21
共7条回复

资深大牛带你深度剖析ios高级面试

从BAT/TMD名企真题入手,结合源码及应用,构建完整iOS知识体系

1749 学习 · 600 问题

查看课程