Given an array of integers, find two numbers such that they add up to a specific target number.
The function twoSum should return indices of the two numbers such that they add up to the target, where index1 must be less than index2. Please note that your returned answers (both index1 and index2) are not zero-based.
You may assume that each input would have exactly one solution.
Input: numbers={2, 7, 11, 15}, target=9
Output: index1=1, index2=2
vector<int> twoSum(vector<int>& nums, int target) { unordered_map<int,int> map; vector<int> res(2,-1); for(int i=0; i<nums.size(); i++) { int diff = target - nums[i]; if(map.count(diff)) { res[0] = map[diff]+1; res[1] = i+1; break; } else { map[nums[i]] = i; } } return res; }
Java代码如下:
public int[] twoSum(int[] nums, int target) { int[] res = new int[2]; Map<Integer, Integer> map = new HashMap<>(); for(int i=0; i<nums.length; i++) { int key = target - nums[i]; Integer val = map.get(key); if(val != null) { res[0] = val+1; res[1] = i+1; break; } else { map.put(nums[i], i); } } return res; } // if you just return the values, not the indices, you can also do this public int[] twoSum0(int[] nums, int target) { Arrays.sort(nums); int[] res = new int[2]; int start = 0, end = nums.length-1; while(start < end) { int sum = nums[start] + nums[end]; if(sum < target) { end--; } else if(sum > target) { start++; } else { res[0] = nums[start]; res[1] = nums[end]; return res; } } return res; }
相关推荐
c c语言_leetcode 0001_two_sum
c语言入门 c语言_leetcode题解01-two-sum.c
js js_leetcode题解之1-two-sum.js
2. **双指针技巧**:包括算法的解释、TwoSum问题、快慢指针和滑动窗口技术。双指针技术通常用于处理数组或链表中的问题,通过两个指针的不同移动策略来解决特定问题。 3. **二分查找**:包括算法的解释、求开方、...
javascript js_leetcode题解之167-two-sum-II-input-array-is-sorted.js
leetcode 2 leetcode-训练 算法训练。 java $: javac hello.java java ...leetcode ...leetcode ...leetcode ...leetcode ...1.two-sum.cpp leetcode test 1.two-sum.cpp leetcode test 1.two-sum.cpp -t '[1,2,3]\n3'
leetcode-1-Two-Sum 这是我在 Github 的第一天。 我只是 AC leetcode 中的第一个问题。 从现在开始,我将使用Github在leetcode中记录我的生活。 我擅长 C++,但对 java 和 Python 不是很专业,我将使用最流行的 3 种...
Two-Sum leetcode两数之和代码 题目描述:给定一个整数数组 nums 和一个目标值 target,请你在该数组中找出和为目标值的那 两个 整数,并返回他们的数组下标。 你可以假设每种输入只会对应一个答案。但是,数组...
leetcode 接口 该项目可帮助您使用首选的 IDE 或带有命令行界面 (CLI) 的编辑器来执行 ...two-sum leetcode --name add-two-numbers leetcode --name median-of-two-sorted-arrays 然后问题描述和启动代码将自动
答案LeetCode_1_TwoSum LeetCode 问题:给定一个整数数组,找出两个数字,使它们相加为特定的目标数字。 函数 twoSum 应该返回两个数字的索引,使它们相加为目标,其中 index1 必须小于 index2。 请注意,您返回的...
离线和leetcode leetcode-cli 一个享受 leetcode 的高效 cli 工具! 非常感谢 leetcode.com,一个非常棒的网站!...⦙⦙⦙⦙⦙⦙⦙⦙ ...leetcode.com。...leetcode ...leetcode ...leetcode ...leetcode ..../two-sum.cpp
离线和leetcode leetcode-cli 一个享受 leetcode 的高效 cli 工具! 非常感谢 leetcode.com,一个非常棒的网站!...⦙⦙⦙⦙⦙⦙⦙⦙ ...leetcode.com。...leetcode ...leetcode ...leetcode ...leetcode ..../two-sum.cpp
java入门 java_leetcode题解之001_Two_Sum
Two-Sum(两数和问题) 给定一个整数数组 nums 和一个目标值 target,请你在该数组中找出和为目标值的那 两个 整数,并返回他们的数组下 可以假设每种输入只会对应一个答案。但是,不能重复利用这个数组中同样的...
在双指针部分,作者解释了双指针技术在处理数组或链表问题时如何发挥作用,例如在TwoSum问题中的应用。在动态规划章节中,作者不仅介绍了动态规划的基本原理,还涵盖了不同类型的动态规划问题,如分割类型题、子序列...
12. Two Sum II Input array is sorted 两数之和II是一个变体的问题,要求找到数组中两个元素之和等于目标值的元素,并且数组已经排序。可以使用双指针来解决该问题。 13. Two Sum III Data structure design 两...
leetcode 答案 leetcode-machine-swift :SOS_button: 请帮助在Sources/leetcode-machine-swift/leetcode.swift设置所有 leetcode 问题。...1 : Question ( name : " Two Sum " , inputs : [([ 2 , 7
python python_leetcode题解之170_Two_Sum_III-Data_structure_design.py
001.two-sum │ ├── information.json │ ├── README.md ├── 002.add-two-numbers │ ├── information.json │ ├── README.md ... 有一些有用的选项: Options: -r, --rule crawling rule, ...