美文网首页我爱编程
Kotlin 算法1 two sum

Kotlin 算法1 two sum

作者: holmes000 | 来源:发表于2018-06-18 21:50 被阅读0次

前言:本小哥最近在学习Kotlin语言,为了更快更好的使用掌握此语言,尝试用它写些算法。基本Kotlin语法参考http://www.runoob.com/kotlin/kotlin-basic-syntax.html

题目:给出一个数组,再给定一个目标数,求出当数组中的两个数之和等于目标数时,这个两个数的索引?
例:一个数组为int[] a= [1,2,3,4,5] ,目标值为 target=8
当a[2]+a[4]=8,即索引为2,4

思路:第一次循环取出一个数,第二次循环取出其它数与之相加,判断它们的和是否等于目标数。等于即返回两个索引值。

fun twoSum(nums: IntArray, target: Int): IntArray {
    for (i in 0..nums.size - 2) {
        for (j in i + 1..nums.size - 1) {
            if (nums[j] == target - nums[i]) {
                return kotlin.intArrayOf(i, j)
            }
        }
    }
}

方法二:

fun twoSum(nums: IntArray, target: Int): IntArray {
    val mapA = hashMapOf<Int, Int>()
    for (i in 0..nums.size - 1) {
        var value = target - nums[i]
        if (mapA.containsKey(value)) {
            return kotlin.intArrayOf(mapA.get(value)!!, i)
        } else {
            mapA.put(nums[i], i)
        }
    }
}

相关文章

  • Kotlin 算法1 two sum

    前言:本小哥最近在学习Kotlin语言,为了更快更好的使用掌握此语言,尝试用它写些算法。基本Kotlin语法参考h...

  • Two Sum

    每日算法——letcode系列 问题 Two Sum Difficulty: Medium Given an a...

  • TWO SUM算法

    声明: 本总结仅为个人学习总结,以防止遗忘而作,不得转载和商用。给定N个不同的数A[0...N-1]以及某定值su...

  • LeetCode 1. Two Sum (Easy)

    LeetCode 1. Two Sum (Easy) LeetCode 1. Two Sum (Easy) 原题链...

  • 1. Two Sum

    1. Two Sum 题目:https://leetcode.com/problems/two-sum/ 难度: ...

  • leetcode hot100

    1. Two Sum[https://leetcode-cn.com/problems/two-sum/] 字典(...

  • leetCode #1

    #1. Two Sum

  • LeetCode之Swift

    1.Two Sum (Easy)

  • 算法2 Two Sum

    题目:给出一个数组,再给定一个目标数,求出当数组中的两个数之和等于目标数时,这个两个数的索引?例:一个数组为int...

  • X Sums

    Two Sum It is not easy to write Two-Sum right for the fir...

网友评论

    本文标题:Kotlin 算法1 two sum

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