leetcode:1. Two Sum(Java实现)
来源:互联网 发布:淘宝手机助手安卓版 编辑:程序博客网 时间:2024/06/05 13:21
leetcode测试地址:https://leetcode.com/problems/two-sum/#/description
1. Two Sum
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].
Subscribe to see which companies asked this question.
package go.jacob.day617;import java.util.Arrays;import java.util.HashMap;/** * Leetcode:1. Two Sum 注意:输入的数组不是排序的 * * @author Administrator * */public class Demo1 {/* * 利用hashMap,可以在O(n)时间通过键找到对应的值 键为具体的数,值为下标 牛客网和leetcode下标略有不同 */public int[] twoSum(int[] nums, int target) {int[] result = new int[2];HashMap<Integer, Integer> map = new HashMap<Integer, Integer>();for (int i = 0; i < nums.length; i++) {if (map.containsKey(target - nums[i])) {result[0] = i;result[1] = map.get(target - nums[i]);return result;}map.put(nums[i], i);}return result;}/* * 错误解法:对数组进行了排序。导致数组前后的下标不一致 */public int[] twoSum_wrong(int[] nums, int target) {if (nums == null || nums.length == 0)return null;Arrays.sort(nums);int left = 0;int right = nums.length - 1;while (nums[left] + nums[right] != target && left < right) {if (nums[left] + nums[right] > target)right--;elseleft++;}int[] result = { left, right };return result;}}
阅读全文
0 0
- leetcode:1. Two Sum(Java实现)
- LEETCODE 1.Two Sum (python实现)
- [LeetCode java] 1.Two Sum
- LeetCode(java)1. Two Sum
- leetcode 1. Two Sum -----java
- (JAVA)LeetCode 1. Two Sum
- LeetCode 1. Two Sum(Java)
- [LeetCode] 1. Two Sum java
- leetcode 1. Two Sum -----java
- 1. Two Sum leetcode java
- LeetCode-java实现-T1-Two Sum
- [LeetCode][1]Two Sum解析 -Java实现
- LeetCode ---- Two Sum (Java Lua 实现)
- LeetCode[1] Two Sum (java实现)
- java 实现leetcode Two Sum II
- [LeetCode][1 Two Sum]Java实现
- LeetCode: Two Sum (Java)
- [Leetcode] Two Sum (Java)
- MTK 功能机编译
- Neutron GRE模式要注意的问题
- 5. 变量(Variables)
- Android Tombstone 分析
- Cloudera简介和安装部署概述
- leetcode:1. Two Sum(Java实现)
- 同步和异步区别
- 406 Not Acceptable
- 遍历set
- mongoDB学习(一)——mongoDB数据库的安装与配置
- 如何使用sprimgMvc上传文件?
- Morphia注解
- 深浅拷贝比较探究
- 调用方法时参数的传递