java代码求两个数的和_算法题:两数之和——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

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 map = new HashMap<>();

for(int i=0; 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]

}

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值