240 发简信
IP属地:北京
  • 空间复杂度是 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开发人员对网络请求进行优化,采用连接池...

  • 120
    网络请求优化 && AFNetworking封装

    之前一段时间都在对网络请求进行优化,老大是后台开发人员,最近服务器由于并发请求太多,不能很快释放,导致服务器经常炸,所以要求安卓和iOS开发人员对网络请求进行优化,采用连接池...

  • Http默认是短连接,客户端和服务器每进行一次HTTP操作,就建立一次连接,任务结束就中断连接客户端主动请求,请求过后关闭,这样每隔几秒钟都要去进行三次握手。这个说的有点问题吧

  • 上面代码显示用的软编

    使用AudioToolbox编码AAC

    前言 使用VideoToolbox硬编码H.264使用VideoToolbox硬解码H.264这次在编码H.264视频流的同时,录制并编码AAC音频流。 介绍 自然界中的声音...

  • 不是删了文章就可以被原谅的, 你还欠我们一个道歉.

  • 元组作为返回值的函数

    元组作为返回值示例 元组返回值的访问 元组已经在函数返回值中命名,不需要在函数返回时再次命名 空数组作为函数参数传入时 问题:函数不会对作为参数传入的数组进行安全检查,如果空...

  • @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...