LeetCode之Swift

1.Two Sum (Easy)

时间复杂度对O(n^2)
func twoSum(_ nums: [Int], _ target: Int) -> [Int] {
        for i in 0 ..< nums.count {
            for j in i + 1 ..< nums.count {
                let result = nums[i] + nums[j]
                if result == target {
                    return [i, j]
                }
            }
        }
        return [-1, -1]
    }
时间复杂度O(n)
func twoSum_3(_ nums: [Int], _ target: Int) -> [Int] {
        var numberIndexDict = [Int:Int]()
        
        for (index, num) in nums.enumerated() {
            guard let pairedIndex = numberIndexDict[target - num] else {
                numberIndexDict[num] = index
                continue
            }
            
            return [pairedIndex, index]
        }
        
        return [-1, -1]
    }
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 背景 一年多以前我在知乎上答了有关LeetCode的问题, 分享了一些自己做题目的经验。 张土汪:刷leetcod...
    土汪阅读 13,034评论 0 33
  • https://developer.apple.com/library/ios/documentation/Gen...
    SvenLearn阅读 856评论 0 0
  • 在阎宏博士的《Java与模式》一书中开头是这样描述策略(Strategy)模式的:策略模式属于对象的行为模式。其用...
    今晚打肉山阅读 834评论 0 0
  • 今天刚结束一场裸考,不想复习的夜晚,雨下了一天一天又一天。忽然想起自己拖了很久的事,是该好好说了算是给自己...
    慢热lin啦阅读 391评论 0 0
  • 与人交往,为什么别人可以很快认识许多朋友,而自己联系最多的还是初中同学?心理性格:当你没有奢求,坦荡的交往时,也许...
    微冷_阅读 704评论 0 0

友情链接更多精彩内容