1. Two Sum

/**
 * 1. Two Sum
 * https://leetcode.com/problems/two-sum/description/
 * 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].

 * */
class solustion {
    fun twoSum(nums: IntArray, target: Int): IntArray {
        val size = nums.size
        val map = HashMap<Int, Int>()
        val result = IntArray(2)
        for (i in 0..(size - 1)) {
            val needCheck = target - nums[i]
            if (map.containsKey(needCheck)) {
                result.set(0,map.get(needCheck)!!)
                result.set(1,i)
                return result
            }
            map.put(nums[i], i)
        }
        return result
    }
}

 

posted @ 2019-03-26 20:54  johnny_zhao  阅读(80)  评论(0编辑  收藏  举报