[Leetcode]Test1 TwoSum [java]题目分析解答
来源:互联网 发布:淘宝评价后不计分 编辑:程序博客网 时间:2024/06/05 23:47
题目
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, and you may not use the same element twice.
Example:
Given nums = [2, 7, 11, 15], target = 9,Because nums[0] + nums[1] = 2 + 7 = 9,return [0, 1].
题目分析:
这里意思是给一个数组和一个数,要求找出数组中两个数之和等于这个数。
tips:
这里题目指出只能有一个唯一的答案且不可以用相同的元素两次。
思路:
这道题我没用什么特殊技巧,暴力解法,两个循环,找到相加等于target的两个数。
public class Test1TwoSum { public int[] twoSum(int[] nums, int target) { for (int i = 0; i < nums.length; i++) { for (int j = 0; j < nums.length; j++) { if(nums[i] + nums[j] == target && i != j) { return new int[] {i, j}; } } } return new int[] {}; }}
然后我发现竟然还有一堆人只用了8ms,而我用了43ms。所以借鉴了一下HashMap的做法。HashMap是一个比较消耗空间的做法,但是相对的会节省时间。
public class Solution { // if there is solution, with exactly one solution // element in array can not be used twice /* array is not ordered */ public int[] twoSum(int[] nums, int target) { if(nums == null || nums.length == 0) return new int[]{-1, -1}; HashMap<Integer,Integer> map = new HashMap<>(); for (int i = 0; i < nums.length; i++) { // put element into hashtable and check whether there is a solution // numbers -> index if(map.containsKey(target -nums[i])) { // has solution return new int[]{map.get(target -nums[i]), i}; } map.put(nums[i], i); } // no solution return new int[]{-1, -1}; }}
阅读全文
0 0
- [Leetcode]Test1 TwoSum [java]题目分析解答
- Leetcode平台上的TwoSum题目用Java哈希表实现
- Java-LeetCode-TwoSum
- [LeetCode-Java]1.TwoSum
- LeetCode/TwoSum Java
- leetcode之TwoSum[Java]
- leetcode题目解答---- SortList
- Leetcode题目解答汇总
- [leetcode]-twoSum
- [leetcode]twoSum
- LeetCode-TwoSum
- 【Leetcode】TwoSum
- LeetCode - TwoSum
- leetcode :twoSum
- leetcode TwoSum
- leetcode twosum
- leetcode--twoSum
- LeetCode twoSum
- Retrofit A type-safe HTTP client for Android and Java
- 正则笔记-贪婪,非贪婪模式。
- 在web.xml中配置error-page
- 812B(状态压缩)
- 浙江工业大学之江学院程序设计竞赛决赛
- [Leetcode]Test1 TwoSum [java]题目分析解答
- Unity3D研究院之两种方式播放游戏视频(本文转载自 http://www.xuanyusong.com/archives/1019 )
- Laravel Excel导出xls乱码
- 免费开源的电路图和PCB绘图软件KiCAD
- Android开发技巧——写一个StepView
- javamail实现QQ发送邮件
- 关于.net mvc中@Html.DropDownListFor和@Html.DropDownList默认值无法选中问题
- 学习JavaScript的理由
- LinkedHashMap源码分析