空間復(fù)雜度是 O(n) 的可以回去等通知了。
尋找兩個view的最近公共view我在唐巧的微信里看到這道題的第二天权谁,就在面試?yán)锉粏柕搅耍瑢嵲捳f我答的并不好憋沿,所以整理一下旺芽。 題目:找出兩個 UIView 的最近的公共 View,如果不存在辐啄,則輸出 nil ...
空間復(fù)雜度是 O(n) 的可以回去等通知了。
尋找兩個view的最近公共view我在唐巧的微信里看到這道題的第二天权谁,就在面試?yán)锉粏柕搅耍瑢嵲捳f我答的并不好憋沿,所以整理一下旺芽。 題目:找出兩個 UIView 的最近的公共 View,如果不存在辐啄,則輸出 nil ...
我這題面試的時候被問過页藻。這就是求鏈表的第一個交點的題赢乓。當(dāng)時面試前做過疙渣,但是寫的時候還是忘了唆阿。(面試官說用遞歸巴元。我不知道怎么寫贰锁。各谚。)
解法:雙指針浪漫相遇法玫坛,?
```
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我在唐巧的微信里看到這道題的第二天岭参,就在面試?yán)锉粏柕搅朔刺瑁瑢嵲捳f我答的并不好,所以整理一下演侯。 題目:找出兩個 UIView 的最近的公共 View姿染,如果不存在,則輸出 nil ...
外觀模式不就搞定了嘛
打造完備的 iOS 組件化方案:如何面向接口進(jìn)行模塊解耦秒际?(一)打造完備的 iOS 組件化方案:如何面向接口進(jìn)行模塊解耦悬赏? 關(guān)于組件化的探討已經(jīng)有不少了狡汉,在之前的文章iOS VIPER架構(gòu)實踐(三):面向接口的路由設(shè)計中,綜合比較了各種方...
pipelining 和 keep alive 不是一回事哦闽颇。
網(wǎng)絡(luò)請求優(yōu)化 && AFNetworking封裝之前一段時間都在對網(wǎng)絡(luò)請求進(jìn)行優(yōu)化盾戴,老大是后臺開發(fā)人員,最近服務(wù)器由于并發(fā)請求太多进萄,不能很快釋放捻脖,導(dǎo)致服務(wù)器經(jīng)常炸,所以要求安卓和iOS開發(fā)人員對網(wǎng)絡(luò)請求進(jìn)行優(yōu)化中鼠,采用連接池...
之前一段時間都在對網(wǎng)絡(luò)請求進(jìn)行優(yōu)化可婶,老大是后臺開發(fā)人員,最近服務(wù)器由于并發(fā)請求太多援雇,不能很快釋放矛渴,導(dǎo)致服務(wù)器經(jīng)常炸,所以要求安卓和iOS開發(fā)人員對網(wǎng)絡(luò)請求進(jìn)行優(yōu)化惫搏,采用連接池...
Http默認(rèn)是短連接具温,客戶端和服務(wù)器每進(jìn)行一次HTTP操作,就建立一次連接筐赔,任務(wù)結(jié)束就中斷連接客戶端主動請求铣猩,請求過后關(guān)閉,這樣每隔幾秒鐘都要去進(jìn)行三次握手茴丰。這個說的有點問題吧
上面代碼顯示用的軟編
使用AudioToolbox編碼AAC前言 使用VideoToolbox硬編碼H.264使用VideoToolbox硬解碼H.264這次在編碼H.264視頻流的同時达皿,錄制并編碼AAC音頻流。 介紹 自然界中的聲音...
元組作為返回值示例 元組返回值的訪問 元組已經(jīng)在函數(shù)返回值中命名,不需要在函數(shù)返回時再次命名 空數(shù)組作為函數(shù)參數(shù)傳入時 問題:函數(shù)不會對作為參數(shù)傳入的數(shù)組進(jìn)行安全檢查茬射,如果空...
@kakasyw thank you
Spark 開發(fā)環(huán)境搭建(五)- Scala和Spark安裝五、Scala 和Spark 安裝 Scala的安裝比較簡單,下載安裝包肠阱,解壓票唆,然后配置環(huán)境變量即可使用。 1. Scala 安裝 下載Scala http://www.sc...
我知道了 我的是ei captain 默認(rèn)沒有權(quán)限 可以放到 usr/local/share里 那么想請問 local代表啥 share有代表啥 我知道usr是Unix使用者專用文件夾
Spark 開發(fā)環(huán)境搭建(五)- Scala和Spark安裝五屹徘、Scala 和Spark 安裝 Scala的安裝比較簡單走趋,下載安裝包,解壓噪伊,然后配置環(huán)境變量即可使用簿煌。 1. Scala 安裝 下載Scala http://www.sc...