博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
算法题——两数之和
阅读量:2344 次
发布时间:2019-05-10

本文共 913 字,大约阅读时间需要 3 分钟。

1. 本题知识点

哈希表

2. 题目描述

给出一个整数数组,请在数组中找出两个加起来等于目标值的数,

你给出的函数 twoSum 需要返回这两个数字的下标(index1,index2),需要满足 index1 小于 index2.。

注意:下标是从 1 开始的。

假设给出的数组中只存在唯一解

例如:

给出的数组为 {20, 70, 110, 150},目标值为90输出 index1=1, index2=2

3. 解题思路

  1. 遍历数组,用哈希表存储数组的数据和它的下标
  2. 在遍历数组的过程中,判断是否存在两个加起来等于目标值的数,如果存在返回下标。

4. 代码

import java.util.*;public class Solution {
/** * * @param numbers int整型一维数组 * @param target int整型 * @return int整型一维数组 */ public int[] twoSum (int[] numbers, int target) {
HashMap
map = new HashMap<>(); int[] result = new int[2]; for(int i = 0; i < numbers.length; i++) {
if (map.containsKey(target - numbers[i])) {
result[0] = map.get(target - numbers[i]); result[1] = i+1; return result; } else {
map.put(numbers[i], i+1); } } return result; }}

转载地址:http://kcjvb.baihongyu.com/

你可能感兴趣的文章
where 1=1影响效率以及having和where的区别
查看>>
资源链接
查看>>
注册中心Eureka页面添加用户认证
查看>>
spring源码
查看>>
上传jar包到nexus私服
查看>>
lambda和抽象类
查看>>
idea自定义文档注释模板
查看>>
Enterprise Architect 生成项目类图
查看>>
idea导出配置
查看>>
JVM学习资料收集
查看>>
Codility经典算法题之九:MissingInteger
查看>>
静态导入
查看>>
java 获取路径
查看>>
spring boot 打印sql
查看>>
我的死锁经历
查看>>
spring boot日志配置
查看>>
list排序
查看>>
搭建zookeeper集群
查看>>
1005. 数独
查看>>
1006. 求和游戏
查看>>