美文网首页
13.LeetCode刷题For Swift·167.有序数组的

13.LeetCode刷题For Swift·167.有序数组的

作者: 富城 | 来源:发表于2021-01-04 10:59 被阅读0次

    1、原题

    Input: numbers={2, 7, 11, 15}, target=9
    Output: index1=1, index2=2
    题目描述:在有序数组中找出两个数,使它们的和为 target。

    2、思路

    和第一题是一样的题,这次使用的是双指针的方法

    3、代码

    class Solution {
        func twoSum(_ numbers: [Int], _ target: Int) -> [Int] {
            // 使用双指针
            var i = 0
            var j = numbers.count - 1
            while i < j {
                let sum = numbers[i] + numbers[j]
                if sum > target {
                    j -= 1
                } else if sum < target {
                    i += 1
                } else {
                    return [i + 1, j + 1]
                }
            }
            return []
        }
    }
    

    相关文章

      网友评论

          本文标题:13.LeetCode刷题For Swift·167.有序数组的

          本文链接:https://www.haomeiwen.com/subject/zrnmoktx.html