leetCode 1. Two Sum
2017-07-30 18:19
169 查看
看似是一道简单的题,使用双层for循环,依次取值,和之后的值依次相加,知道和为期望值sh时输出,时间复杂度O(n²)
结果性能截图
上网搜的高性能算法,遍历一遍数组后就可以获得结果,思路初始化一个map,key为数组的值,value为数组的角标,一次取值v,如果Map.get(target-v)存在,则返回,否则将其值放入map,减少了比较的算法和一层for循环
性能截图
public int[] twoSum(int[] nums, int target) { int result[] = new int[2]; int length = nums.length; for (int i = 0; i < length; i++){ for(int j = i+1; j<length;i++) { if(nums[i] + nums[j] == target){ result[0] = i; result[1] = j; return result; } } } return result; }
结果性能截图
上网搜的高性能算法,遍历一遍数组后就可以获得结果,思路初始化一个map,key为数组的值,value为数组的角标,一次取值v,如果Map.get(target-v)存在,则返回,否则将其值放入map,减少了比较的算法和一层for循环
public int[] twoSum(int[] nums, int target) { Map<Integer,Integer> map = new HashMap<>(); int arr[]= new int[2]; int len = nums.length; for(int i = 0; i< len;i++){ if(map.get(target-nums[i]) != null && map.get(target-nums[i]) >= 0) { arr[0] = map.get(target-nums[i]); arr[1] = i; return arr; }else{ map.put(nums[i],i); } } return arr; }
性能截图
相关文章推荐
- [leetcode 1] Two Sum
- LeetCode - 1. Two Sum
- 【leetcode】【1】Two Sum
- LeetCode——Two Sum
- leetcode[1]Two Sum
- leetcode 1. Two Sum
- leetcode--Two Sum
- LeetCode:01:Two Sum
- leetcode_1 Two Sum,Longest Common Prefix
- LeetCode 01 Two Sum
- LeetCode 1. Two Sum
- leetcode-1 two sum
- LeetCode|Two Sum
- leetcode Two Sum
- [leetcode, python] Two Sum 两数之和等于某数
- Leetcode--Two Sum
- LeetCode:1. Two Sum
- LeetCode Two Sum
- [LeetCode] Two Sum
- LeetCode: Two Sum