码迷,mamicode.com
首页 > 其他好文 > 详细

第一篇,2sum

时间:2015-10-16 06:18:10      阅读:179      评论:0      收藏:0      [点我收藏+]

标签:

 1 public class Solution {
 2     public int[] twoSum(int[] nums, int target) {
 3       int[] result = {-1, -1};
 4       if (nums == null || nums.length < 2) {
 5         return result;
 6       }
 7       HashMap<Integer, Integer> map = new HashMap();
 8       for (int i = 0; i < nums.length; i++) {
 9         if (map.containsKey(target - nums[i])) {
10           result[0] = map.get(target - nums[i]) + 1;
11           result[1] = i + 1;
12           break;
13         }
14         map.put(nums[i], i);
15       }
16       return result;
17     }
18 }

最高频面试题2sum

一道做烂了的题目多想想还是有很多值得注意的地方

这里遍历一次,一边加一边找的做法很好。如果不需要返回下标也可以排序后双指针夹逼

本文代码时间复杂度O(N), 空间复杂度O(N)

排序夹逼做法时间O(NlogN), 空间O(1)

第一篇,2sum

标签:

原文地址:http://www.cnblogs.com/ilovenaomi/p/4884136.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!