博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
1. Two Sum
阅读量:5877 次
发布时间:2019-06-19

本文共 1376 字,大约阅读时间需要 4 分钟。

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

难度:easy

题目:

给定一整数数组,返回使得数组中两元素的和为特定整数的下标。
假定每个输入都会有且仅有一个结果,不可以重复使用同一个元素。

思路:

  1. 利用hash map
  2. sort 后从两头向中间夹挤

Runtime: 352 ms, faster than 96.77% of Scala online submissions for Two Sum.

object Solution {    def twoSum(nums: Array[Int], target: Int): Array[Int] = {        import scala.collection.mutable.Map        val mii: Map[Int, Int] = Map()        for (i ← 0 until nums.size) {            val adder = target - nums(i)            if (mii.contains(adder)) {                return Array(mii.get(adder).get, i)            }            mii += (nums(i) → i)        }        Array(0, 0)    }}
public class Solution {    public int[] twoSum(int[] nums, int target) {        Map
mii = new HashMap<>(); /* * 从前向后遍历,既然是一定会有匹配的数,那只能是前面找不到对应的,后面可以找到找出的index应该是前的。所以后面遍历的i作为右边index */ for (int i = 0; i < nums.length; i++) { if (mii.containsKey(target - nums[i])) { return new int[] {mii.get(target - nums[i]), i}; } mii.put(nums[i], i); } return new int[] {0, 0}; }}

转载地址:http://mnkix.baihongyu.com/

你可能感兴趣的文章
Android -- AudioPlayer
查看>>
Python大数据依赖包安装
查看>>
Android View.onMeasure方法的理解
查看>>
Node.js 爬虫初探
查看>>
ABP理论学习之仓储
查看>>
NestJS 脑图
查看>>
我的友情链接
查看>>
Html body的滚动条禁止与启用
查看>>
Tengine新增nginx upstream模块的使用
查看>>
多媒体工具Mediainfo
查看>>
1-小程序
查看>>
CentOS图形界面和命令行切换
查看>>
HTML5通信机制与html5地理信息定位(gps)
查看>>
Mind_Manager_2
查看>>
手动升级 Confluence - 规划你的升级
查看>>
汽车常识全面介绍 - 悬挂系统
查看>>
电子政务方向:We7.Cloud政府云门户
查看>>
虚拟机Centos7连接Internet
查看>>
ansible 基本操作(初试)
查看>>
更改tomcat的根目录路径
查看>>