荣誉版主
- 积分
- 9852
- 大米
- 颗
- 鳄梨
- 个
- 水井
- 尺
- 蓝莓
- 颗
- 萝卜
- 根
- 小米
- 粒
- 学分
- 个
- 注册时间
- 2012-1-20
- 最后登录
- 1970-1-1
|
没细看你的代码,因为hashmap解法不可能超时……
我贴一下我的吧,应该比较简洁- public int[] twoSum(int[] numbers, int target) {
- Map<Integer, Integer> map = new HashMap<Integer, Integer>();
- for (int i=0; i<numbers.length; i++) {
- if (!map.containsKey(numbers[i])) {
- map.put(target - numbers[i], i);
- } else {
- int[] rt = {map.get(numbers[i])+1, i+1};
- return rt;
- }
- }
- int[] rt = {};
- return rt;
- }
复制代码 |
|