算法-1

作者: OrrHsiao | 来源:发表于2023-02-09 11:17 被阅读0次

给定一个整数数组 nums 和一个整数目标值 target,请你在该数组中找出 和为目标值 target 的那 两个 整数,并返回它们的数组下标。

你可以假设每种输入只会对应一个答案。但是,数组中同一个元素在答案里不能重复出现。

你可以按任意顺序返回答案。

func twoSum(_ nums: [Int], _ target: Int) -> [Int] {
    var result: [Int] = []
    for (index, value) in nums.enumerated() {
        print("index:\(index)")
        print("value:\(value)")
        let anotherValue = target - value
        if let anotherIndex = nums.firstIndex(of: anotherValue) {
            if (index == anotherIndex) {
                continue
            }else{
                result = [index, anotherIndex]
            }
        }
    }
    return result
}
func twoSum(_ nums: [Int], _ target: Int) -> [Int] {
        var dic: [Int: Int] = [:]
        
        for (index, value) in nums.enumerated() {
            if dic.keys.contains(target - value) {
                return [index, dic[target - value]!]
            }
            dic[value] = index
        }
        return [];
    }

相关文章

  • 路径规划文集

    1、最短路径规划算法——A*算法 1)A*算法原理形象阐释; 2)A*算法原理;

  • 大数据实例 | 你想知道搜索引擎排名怎么来的嘛---PageRa

    目录 什么是PageRank算法 算法原理(1) 算法原理(2) 看论文推荐 1. 什么是PageRank算法 P...

  • 算法1

    前言:重新复习算法相关内容,随便找了本算法书,记录一下心得,书名是《算法设计与分析——C++语言描述》,陈慧南编著...

  • 算法 - 1

    1. 快速排序1.1 学习分而治之1.2 快速排序的Demo方法1.3 快速排序的图解 2. 二分查找2.1 二分...

  • 算法(1)

    算法: 第一讲: 1.快速解决问题的能力2.分析问题的能力(时间复杂度和空间复杂度)3.沟通能力(统一专业术语) ...

  • 算法 1

    算法 merge-two-sorted-lists 解决办法: 递归 解决方法:backtracking solu...

  • [算法] 1

    矩阵从一个点出发,沿一个方向(八个方向)连续求和,不折返,求和最大的起点、方向、长度和最大和。假定: 矩阵起点[0...

  • 算法(1)

    算法定义:算法是解决特定问题求解步骤的描述,在计算机中表现为指令的有限序列,并且每条指令表示一个或多个操作。通俗来...

  • 算法1

    这里是我算法练习的一些例子,当作思维训练,题目来主要来自自剑指offer,我用python作为实现语言,个别可能没...

  • 算法1

    //最优解法 时间复杂度o(n),空间复杂度o(1)不需要分配空间 //其它解法 排序//hash

网友评论

      本文标题:算法-1

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