空间复杂度是 O(n) 的可以回去等通知了。
寻找两个view的最近公共view我在唐巧的微信里看到这道题的第二天,就在面试里被问到了,实话说我答的并不好,所以整理一下。 题目:找出两个 UIView 的最近的公共 View,如果不存在,则输出 nil ...
空间复杂度是 O(n) 的可以回去等通知了。
寻找两个view的最近公共view我在唐巧的微信里看到这道题的第二天,就在面试里被问到了,实话说我答的并不好,所以整理一下。 题目:找出两个 UIView 的最近的公共 View,如果不存在,则输出 nil ...
空间复杂度和时间复杂度都是O(n),这个算法确实不错
我这题面试的时候被问过。这就是求链表的第一个交点的题。当时面试前做过,但是写的时候还是忘了。(面试官说用递归。我不知道怎么写。。)
解法:双指针浪漫相遇法,❤
```
func findSuperView(_ viewA: UIView?, _ viewB: UIView?) -> UIView? {
var v1 = viewA
var v2 = viewB
while v1 != v2 {
if v1 != nil {
v1 = v1?.superview
}else {
v1 = viewB
}
if v2 != nil {
v2 = v2?.superview
}else {
v2 = viewA
}
if v1 == nil && v2 == nil {
return nil
}
}
return v1
}
```
测试代码:
```
func test_findSuperView() {
let superA = UIView()
let superB = UIView()
let superC = UIView()
superA.addSubview(superB)
superB.addSubview(superC)
let leftA = UIView()
let leftB = UIView()
let leftC = UIView()
superC.addSubview(leftA)
leftA.addSubview(leftB)
leftB.addSubview(leftC)
let rightA = UIView()
let rightB = UIView()
superC.addSubview(rightA)
rightA.addSubview(rightB)
let v = UIView()
XCTAssert(findSuperView(leftC, rightB) == superC)
XCTAssert(findSuperView(leftB, rightB) == superC)
XCTAssert(findSuperView(leftC, v) == nil)
}
```
寻找两个view的最近公共view我在唐巧的微信里看到这道题的第二天,就在面试里被问到了,实话说我答的并不好,所以整理一下。 题目:找出两个 UIView 的最近的公共 View,如果不存在,则输出 nil ...
外观模式不就搞定了嘛
打造完备的 iOS 组件化方案:如何面向接口进行模块解耦?(一)打造完备的 iOS 组件化方案:如何面向接口进行模块解耦? 关于组件化的探讨已经有不少了,在之前的文章iOS VIPER架构实践(三):面向接口的路由设计中,综合比较了各种方...
pipelining 和 keep alive 不是一回事哦。
网络请求优化 && AFNetworking封装之前一段时间都在对网络请求进行优化,老大是后台开发人员,最近服务器由于并发请求太多,不能很快释放,导致服务器经常炸,所以要求安卓和iOS开发人员对网络请求进行优化,采用连接池...
之前一段时间都在对网络请求进行优化,老大是后台开发人员,最近服务器由于并发请求太多,不能很快释放,导致服务器经常炸,所以要求安卓和iOS开发人员对网络请求进行优化,采用连接池...
Http默认是短连接,客户端和服务器每进行一次HTTP操作,就建立一次连接,任务结束就中断连接客户端主动请求,请求过后关闭,这样每隔几秒钟都要去进行三次握手。这个说的有点问题吧
上面代码显示用的软编
使用AudioToolbox编码AAC前言 使用VideoToolbox硬编码H.264使用VideoToolbox硬解码H.264这次在编码H.264视频流的同时,录制并编码AAC音频流。 介绍 自然界中的声音...
简书的签约作者就酱吗?真的low
上海有猫,爱猫一族可以来领养,简信联系
不是删了文章就可以被原谅的, 你还欠我们一个道歉.
。。。
汇编:在mac平台运行debug.exe链接
元组作为返回值示例 元组返回值的访问 元组已经在函数返回值中命名,不需要在函数返回时再次命名 空数组作为函数参数传入时 问题:函数不会对作为参数传入的数组进行安全检查,如果空...
@kakasyw thank you
Spark 开发环境搭建(五)- Scala和Spark安装五、Scala 和Spark 安装 Scala的安装比较简单,下载安装包,解压,然后配置环境变量即可使用。 1. Scala 安装 下载Scala http://www.sc...
我知道了 我的是ei captain 默认没有权限 可以放到 usr/local/share里 那么想请问 local代表啥 share有代表啥 我知道usr是Unix使用者专用文件夹
Spark 开发环境搭建(五)- Scala和Spark安装五、Scala 和Spark 安装 Scala的安装比较简单,下载安装包,解压,然后配置环境变量即可使用。 1. Scala 安装 下载Scala http://www.sc...