算法题:两数之和——JavaScript及Java实现

Posted 一杯绿茶

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了算法题:两数之和——JavaScript及Java实现相关的知识,希望对你有一定的参考价值。

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

javascript 实现

使用了 ES6 中的 Map 对象,代码如下:

const nums = [2, 7, 11, 15],
    target = 9;

function sumofTwoNumber(nums, target) {
    let map = new Map();
    for(let i=0; i<nums.length; i++) {
        let k = target - nums[i];
        if(map.has(k)) {
            return [map.get(k), i]
        }
        map.set(nums[i], i)
    }
    return []
}

const res = sumofTwoNumber(nums, target);
console.log(res); // [0, 1]

Java 实现

使用 HashMap 实现,代码如下:

package com.company;

import java.util.Arrays;
import java.util.Map;
import java.util.HashMap;

public class SumOfTwoNumber {
    public int[] getResult(int[] nums, int target) {
        Map<Integer, Integer> map = new HashMap<>();
        for(int i=0; i<nums.length; i++) {
            int k = target - nums[i];
            if(map.containsKey(k)) {
                return new int[]{map.get(k), i};
            }
            map.put(nums.get(i), i);
        }
        return new int[0];
    }
    public static void main(String[] args) {
        int[] nums = new int[]{2, 7, 11, 15};
        SumOfTwoNumber sumOfTwoNumber = new SumOfTwoNumber();
        int[] res = sumOfTwoNumber.getResult(nums, 9);
        System.out.println(Arrays.toString(res)); // [0, 1]
    }
}

以上是关于算法题:两数之和——JavaScript及Java实现的主要内容,如果未能解决你的问题,请参考以下文章

算法:JavaScript两数之和

每日一道算法题--两数之和

LeeCode前端算法基础100题-两数之和

LeeCode前端算法基础100题-两数之和

刷题整理面试常见算法题集合

算法练习之两数之和