2sum
来源:互联网 发布:钱龙软件 编辑:程序博客网 时间:2024/05/29 09:22
ref http://www.cnblogs.com/springfor/p/3859618.html
// hash soln
public class Solution {
public int[] twoSum(int[] numbers, int target) {// hashmap soln
if(numbers==null || numbers.length<2) return null;
int[] res = new int[2];
HashMap<Integer,Integer> hm = new HashMap<>();
for(int i=0;i<numbers.length;i++){
if(!hm.containsKey(target-numbers[i])){
hm.put(numbers[i],i);
}else{
res[0]=hm.get(target-numbers[i])+1;
res[1]=i+1;
break;
}
}
return res;
}
}
// 2 pointers soln
int high = numbers.length-1;
int low = 0;
int[] newarr = new int[numbers.length];
System.arraycopy(numbers, 0, newarr, 0, numbers.length);
Arrays.sort(newarr);
while(low<high){
if(target> newarr[low]+newarr[high])
{low++;}
else if(target< newarr[low]+ newarr[high])
{high--;}
else{
break;
}
}
int ind1 = -1;
int ind2 = -1;
for(int i=0;i< numbers.length; i++){
if(numbers[i]==newarr[low] && ind1 == -1){
ind1 = i+1;
}else if(numbers[i]==newarr[high] && ind2 == -1){
ind2 = i+1;
}
}
res[0] = ind1;
res[1] = ind2;
Arrays.sort(res);
return res;
- leetcode 2 sum 3sum 4sum
- 2Sum 3Sum 4Sum
- Leetcode 2SUM-3SUM-4SUM
- Leetcode-2sum,3sum,4sum
- leetcode 2 sum & 3 sum & 4 sum
- 2sum
- 2 sum
- 2Sum
- 2 sum
- 2sum
- [LeetCode] 2Sum, 3Sum, 4Sum, 3SUm closet
- [LeetCode] K sum(2Sum、3Sum、4Sum)
- 2sum 3sum 4sum 各种sum
- leetcode--sum集合:2sum,3sum,4sum
- leetcode --- 2 sum , 3 sum , 4 sum , k sum problem
- 2-sum, 3-sum, 4-sum and n-sum
- Leetcode:2Sum,3Sum
- leetcode001-2Sum,3Sum
- Clone Graph
- [libevent源码分析] event_add
- [libevent源码分析] event_base_dispatch
- jQuery.extend 函数详解
- Amazon电面题目-sort 100 IP addresses
- 2sum
- Erlang的socket 编程简例
- BZOJ 2819 Nim (树链剖分+线段树)
- DNA排序 poj
- 34个Android常用adb shell命令汇总
- Debian中配置JDK的环境
- 数据挖掘笔记(1)
- BZOJ 1570 JSOI 2008 Blue Mary的旅行 网络流
- java包访问权限和包导入