LeetCode - #1 Two Sum
2023-03-20 14:59:55 时间
前言
我们社区从本期开始会将顾毅(Netflix 增长黑客,《iOS 面试之道》作者,ACE 职业健身教练。微博:@故胤道长[1])的 Swift 算法题题解整理为文字版以方便大家学习与阅读。
该算法题解的 github 仓库地址是:https://github.com/soapyigu/LeetCode-Swift[2]
不积跬步,无以至千里;不积小流,无以成江海。
1. 描述
已知一个整数数组 nums
和一个整数 target
,取数组中任意两个值相加的和等 整数 target
,返回这两个值在数组中的索引。
假设:
- 只有一个有效答案
- 同一个值不能重复取两次
- 可以按任意顺序返回答案
2. 示例
示例 1
输入:nums = [2,7,11,15],target = 9
输出:[0,1]
解释:因为 nums[0] + nums[1] == 9,所以返回 [0, 1]
示例 2
输入:nums = [3,2,4],target = 6
输出:[1,2]
示例 3
输入:nums = [3,3],target = 6
输出: [0,1]
3. 答案
class TwoSum {
func twoSum(_ nums: [Int], _ target: Int) -> [Int] {
var dict = [Int: Int]()
for (i, num) in nums.enumerated() {
if let lastIndex = dict[target - num] {
return [lastIndex, i]
}
dict[num] = i
}
fatalError("No valid outputs")
}
}
- 主要思想:遍历数组并在字典中存储目标 - nums[i]
- 时间复杂度:O(n)
- 空间复杂度:O(n)
参考资料
[1]@故胤道长: https://m.weibo.cn/u/1827884772
[2]LeetCode-Swift: https://github.com/soapyigu/LeetCode-Swift
相关文章
- iOS15新版本将这些问题修复了,正式版新变化曝光
- 明明国产手机已经崛起了,为什么很多人买高端机还是只认准iPhone
- 历经4次测试,iOS15现在怎么样了?过来人透露3个细节
- 真神器!让你快速在VirtualBox上安装苹果操作系统
- iOS 15 beta4推送,修复大量Bug,流畅性提升建议更新
- iOS 15 beta 4 新功能汇总:Safari继续调整、MagSafe外接电池支持
- 工信部:14 款 App 未严格落实开屏弹窗信息骚扰用户问题整改要求,含 QQ 阅读等
- 苹果紧急发布 iOS 14.7.1 正式版,修复两大 Bug
- 门罗币挖矿僵尸网络PGMiner瞄准PostgreSQL
- 紧急推出!iOS14.7.1正式版更新,修复问题
- 我们一起了解 Swift 调度器
- 苹果宣布停止签署iOS 14.6
- iOS 14.7.1 紧急发布,建议所有用户更新
- Facebook抢占商标,PrestoSQL无奈选择更名
- 苹果突发iOS/iPadOS14.7.1:修复Touch ID解锁问题
- 2021年实用的摩登极简风 UI 设计指南
- 一篇学会使用 SwiftUI 创建万花尺
- iOS14.7首批用户评价出炉,带来3个坏消息,暂时建议不要更新
- 为什么很多人宁愿买二手iPhone,也不愿意买安卓新机?
- iOS 15引入基于半身照的人物识别功能