您的位置:首页 > 编程语言 > Java开发

LeetCode 1、Two Sum

2016-12-22 17:24 281 查看


题目大意:给一个数组num和一个给定的数t,假设数组中两个数相加等于t,给出这两个数的下标【假设答案只有一组】

1)用java中的hashmap解决

package com;

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

/**
* Created by hms on 2016/12/22.
*/
public class Solution {
public int[] twoSum(int[] nums, int target) {
int index[] = {0, 0};
HashMap<Integer, Integer> hashMap = new HashMap<Integer, Integer>();
int n = nums.length;
for(int i = 0; i < n; ++i){
if(hashMap.containsKey(nums[i])){
if(nums[i] == target - nums[i]){
int k = hashMap.get(nums[i]);
index[0] = k;
index[1] = i;
return index;
}
}else {
if(hashMap.containsKey(target-nums[i])){
int k = hashMap.get(target-nums[i]);
index[0] = k;
index[1] = i;
return index;
}
hashMap.put(nums[i], i);
}
}
return index;
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  java hashmap leetcode