[leetcode] Two Sum
来源:互联网 发布:网络不通怎么排查 编辑:程序博客网 时间:2024/05/24 02:07
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
package com.wyt.leetcodeOJ;import java.util.Arrays;import java.util.HashMap;import java.util.Map;/** * @author wangyitao * @version 1.0 * */public class Two_sum {/** * @param args<br> * <p>测试例子<br> * Input: numbers={2, 7, 11, 15}, target=9<br> * Output: index1=1, index2=2 */public static void main(String[] args) {int[] numbers = {2, 3, 11, 15, 16, 17, 18, 19, 7};int target = 9;int[] a = twoSum(numbers, target);System.out.println(Arrays.toString(a));}/** * @param numbers:带求解int数组 * @param target:目标值 * @return 返回一个长度为2的int数组,两个index对应numbers元素之和为target的值 */private static int[] twoSum(int[] numbers, int target) {int len = numbers.length; int[] index = new int[2]; /** * 思路:对于numbers中的一个元素a,它的期待值是target-a * 以target-a为键,a为值,将其放入map,每次put查找key是否存在,存在的话 * 说明存在这一的一个two sum */Map<Integer, Integer> map = new HashMap<Integer, Integer>();for (int i = 0; i < len; i++) {if (!map.containsKey(numbers[i])) {//做一次查找,若存在就说明找到了数对map.put(target - numbers[i], i);//否则,放进map,继续找} else {index[0] = map.get(numbers[i]) + 1;index[1] = i + 1;}}return index;}}
0 0
- 【Leetcode】Two Sum (Sum)
- LeetCode: Two Sum
- LeetCode: Two Sum
- [Leetcode] Two Sum
- LeetCode : Two Sum
- Leetcode: Two Sum
- leetcode 46: Two Sum
- [LeetCode] Two Sum
- LeetCode 1 - Two Sum
- Leetcode : Two Sum
- 【leetcode】Two Sum
- [LeetCode]Two Sum
- leetcode Two Sum
- [Leetcode] Two Sum
- [leetcode] Two Sum
- LeetCode - Two Sum
- leetcode之Two Sum
- LeetCode | Two Sum
- 闲聊CSS之关于clearfix--清除浮动
- OpenGL ES像素着色器教程
- Android源代码分析(三) MediaScanner源码分析(下)
- 插件开发中常用的监听方式
- dubbo学习过程、使用经验分享及实现原理简单介绍
- [leetcode] Two Sum
- jQuery UI dialog实现dialog弹框显示
- Android隐藏输入法自带的输入框,将输入框向上推
- LINK : fatal error LNK1123: 转换到 COFF 期间失败: 文件无效或损坏
- 在数据库服务端,添加一个表格,然后在MFC中对数据库表格的数据做插入、删除和修改
- Linux中虚拟内存和物理内存的关系
- 古藤堡带你体验别样的田园生活
- 12.5.1 声明计算类型
- Java indexOf()的两个用法