zoukankan      html  css  js  c++  java
  • 【LeetCode 1. Two Sum】

    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].
    
    

    翻译

    给定一个整形数组和一个整数target,返回2个元素的下标,它们满足相加的和为target。

    你可以假设每种输入只会对应一个答案,但是,数组中同一个元素不能使用两遍。

    Kotlin实现1

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

    Kotlin实现2

    fun twoSum(nums: IntArray, target: Int): IntArray? {
        val map: MutableMap<Int, Int> = HashMap()
        for (i in nums.indices) {
            val key = target - nums[i]
            if (map.containsKey(key)) {
                return intArrayOf(map[key]!!, i)
            }
            map[nums[i]] = i
        }
        return intArrayOf(0, 0)
    }
    

    参考:
    https://leetcode.com/problems/two-sum/

  • 相关阅读:
    request请求与响用
    flask源码分析
    falsk使用
    偏导函数
    flaskwsgiref
    请求和响应的周期执行顺序与异常和过滤器和模板语法
    C#读取EXCEL数据
    ecshop
    Log4Net记录日志(mvc)
    select和checkbox回绑
  • 原文地址:https://www.cnblogs.com/MillerKevin/p/12746266.html
Copyright © 2011-2022 走看看