[leetcode]Tow Sum(java)
来源:互联网 发布:淘宝运费险是自动退吗 编辑:程序博客网 时间:2024/05/18 01:42
Given an array of integers, return indices of the two numbers such that they add up to a specific target.
You may assume that each input would have exactly one solution.
Example:
Given nums = [2, 7, 11, 15], target = 9,
Because nums[0] + nums[1] = 2 + 7 = 9,
return [0, 1].
一开始的解法是两重循环一一比较,成功AC。
解法一:
public class Solution { public int[] twoSum(int[] nums, int target) { if (nums==null) return null; int[] records=new int[2]; for(int i=0;i<nums.length;i++) { for(int j=0;j<i;j++) { if(nums[i]+nums[j]==target) { records[0]=j; records[1]=i; return records; } } } return null; }}
这算是最简单的方法了,时间复杂度为O(n^n)。考虑实现一层循环的方法,那么考虑容器的使用,考虑依次把数组的值放进去,然后使用target-nums[i],是否在这个容器中,若存在就可以返回一个位置数组,所以容器考虑使用map;
解法二:
public class Solution { public int[] twoSum(int[] nums, int target) { if (nums==null) return null; int[] records=new int[2]; Map<Integer,Integer> numbers=new HashMap<Integer,Integer>(); for(int i=0;i<nums.length;i++) { Integer num=numbers.get(nums[i]); if(num==null) numbers.put(nums[i],i); Integer n=numbers.get(target-nums[i]); if(n!=null&&n<i) { records[0]=n; records[1]=i; return records; } } return null; }}
0 0
- LeetCode : Tow Sum [java]
- [leetcode]Tow Sum(java)
- leetcode 001 Tow Sum(java)
- LeetCode: Tow Sum (JavaScript)
- leetcode-001 tow sum
- [LeetCode]--Tow Sum
- leetcode 1. Tow Sum
- LeetCode 1---Tow Sum
- Leetcode系列(#1 Tow Sum)
- LeetCode:Tow Sum程序以及分析
- 1 Tow Sum
- leetcode: Add Tow Numbers
- leetcode-Add Tow Numbers
- 【面试准备】letcode-Tow Sum
- LeetCodeOJ——1.Tow Sum
- 算法课第一周作业 | tow sum
- 算法第一周Tow Sum[easy]
- LeetCode: Two Sum (Java)
- 九种基本数据类型的大小,以及他们的封装类
- 从上往下打印二叉树
- HDU1530 Maximum Clique & ZOJ 1492 Maximum Clique
- javascript--函数总结
- 关于open操作的O_EXCL的存在应用价值理解
- [leetcode]Tow Sum(java)
- hdu5894组合数学
- hdu1495 非常可乐(规律)
- bzoj4538: [HNOI2016]网络
- c++ 函数
- 类,面和对象
- light oj 1005 - Rooks (组合数学)
- 优秀程序员的本质
- vijos1037-搭建双塔