你的位置:首页 > 软件开发 > Java > LeetCode第一题以及时间复杂度的计算

LeetCode第一题以及时间复杂度的计算

发布时间:2016-01-25 22:00:15
问题描述:给定一组指定整数数组,找出数组中加和等于特定数的两个数。     函数(方法)twoSum返回这两个数的索引,index1必须小于index2。     另外:你可以假设一个数组只有一组解。     一个栗子:        Input: numbers={2, 7, ...

问题描述:给定一组指定整数数组,找出数组中加和等于特定数的两个数。

     函数(方法)twoSum返回这两个数的索引,index1必须小于index2。

     另外:你可以假设一个数组只有一组解。

     一个栗子:

        Input: numbers={2, 7, 11, 15}, target=9 Output: index1=1, index2=2

 

算法实现如下:

 1 /** 2    * 时间复杂度O(n) 3    * @param array 4    * @param target 5    * @return Map<Integer,Integer> 6   */ 7   public static Map<Integer, Integer> twoSum(int[] array, int target) { 8      9     //Map<value,index>10     Map<Integer, Integer> result = new HashMap<Integer, Integer>();11     12     Map<Integer, Integer> container = new HashMap<Integer, Integer>();13     for (int i = 0; i < array.length; i++) {14       if (!container.containsKey(target - array[i])) {15         container.put(array[i], i + 1);16       } else {17         result.put(target - array[i], container.get(target - array[i]));18         result.put(array[i], i + 1);19         break ;20       }21     }22 23     return result;24   }

 


原标题:LeetCode第一题以及时间复杂度的计算

关键词:时间

*特别声明:以上内容来自于网络收集,著作权属原作者所有,如有侵权,请联系我们: admin#shaoqun.com (#换成@)。