1. Two Sum

    xiaoxiao2021-04-01  28

    将来的工作需要用到Swift,可是看语法什么的好无聊啊,最近又恰好发现leetCode支持Swift,以前又没刷过leetCode,于是就借着这个机会,边刷边学学Swift。

    题目: Given an array of integers, return indices of the two numbers such that they add up to a specific target.

    You may assume that each input would have exactly one solution, and you may not use the same element twice.

    example:

    Given nums = [2, 7, 11, 15], target = 9, Because nums[0] + nums[1] = 2 + 7 = 9, return [0, 1]

    题目本身没什么意思,要在时间复杂度o(n)内求解,主要就是利用map记录一下value-index。这里主要是学习一下Swift的语法,下面是leetCode上别人的solution。关键的语法点就是数组,字典的使用,变量的定义,if-else。

    class Solution { func twoSum(_ nums: [Int], _ target: Int) -> [Int] { var selectedIndices = [Int:Int]() for (index, element) in nums.enumerated() { selectedIndices[element] = index } for (index, element) in nums.enumerated() { let compliment = target - element if let selectedIndex = selectedIndices[compliment] { if selectedIndex != index { return [index, selectedIndex] } } } return [] } }
    转载请注明原文地址: https://ju.6miu.com/read-665549.html

    最新回复(0)