IOS|IOS 算法(基础篇) ----- 基础索引
【IOS|IOS 算法(基础篇) ----- 基础索引】今天分享一道基础中的基础算法题, 给大家分享一下
如果你想知道什么题? 既然你诚心诚意的发问了, 我就大发慈悲的告诉你!
给定一个有序整数数组A, 找到 A[i] = i, 并返回i, 如果有很多相同, 返回最小i, 没有返回-1
例如:
A = [0, 1, 2, 3] 返回0
B = [2, 2, 2, 3] 返回2
由于题目比较简单直接上代码
func findIndex(_ nums: [Int]) -> Int {
for i in 0..
当然由于是正序数组, 当我们循环时候如果当前 nums[i] > i的话, 我们可以将i直接跳到 nums[i]
为什么呢? 正序, 正序, 正序
nums[i + 1] >= num[i], 所以我们可以减少几次, 增加一行判断 nums[i] > i { i = nums[i] }
func findIndex(_ nums: [Int]) -> Int {
for var i in 0.. i { i = nums[i] }
}
return -1
}
IOS 算法合集地址
推荐阅读
- 2020-04-07vue中Axios的封装和API接口的管理
- 画解算法(1.|画解算法:1. 两数之和)
- Guava|Guava RateLimiter与限流算法
- iOS中的Block
- Python基础|Python基础 - 练习1
- 一个选择排序算法
- SG平滑轨迹算法的原理和实现
- Java|Java基础——数组
- 记录iOS生成分享图片的一些问题,根据UIView生成固定尺寸的分享图片
- 《算法》-图[有向图]