LetCode#1给定一个整数数组 nums 和一个整数目标值 target,请你在该数组中找出 和为目标值 的那 两个 整数,并返回它们的数组下标。JAVA

2023-11-15

题目:

给定一个整数数组 nums 和一个整数目标值 target,请你在该数组中找出 和为目标值 的那 两个 整数,并返回它们的数组下标。

你可以假设每种输入只会对应一个答案。但是,数组中同一个元素在答案里不能重复出现。

你可以按任意顺序返回答案。

示例 1:

输入:nums = [2,7,11,15], target = 9
输出:[0,1]
解释:因为 nums[0] + nums[1] == 9 ,返回 [0, 1] 。
示例 2:

输入:nums = [3,2,4], target = 6
输出:[1,2]
示例 3:

输入:nums = [3,3], target = 6
输出:[0,1]

来源:力扣(LeetCode)
链接:https://leetcode-cn.com/problems/two-sum
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。

思路

我想到的是最简单粗暴地方法:数组中的第一个数和后面所有数分别求和是否等于目标值,等于目标直接返回,没有就从第二个数和后面所有数求和~~

代码

public int[] twoSum(int[] nums,int target){
        int[] num2 =new int[2];
        for (int i = 0; i < nums.length; i++) {
            for (int j=i+1;j<nums.length;j++){
                if (nums[i]+nums[j]==target){
                    num2[0]=i;
                    num2[1]=j;
                    break;
                }
            }
        }
        return num2;
    }

直接通过

*-----------------------------------------
这应该是最好理解的一种方法,官方推荐是用哈希表效率会高

使用hash表解决

思路

将nums[ ]数组中的值和下标分别保存到hashmap的key和vale,当出现满足target- nums[i]存在就说明有符合的。

代码

	public int[] twoSum(int[] nums, int target) {
		HashMap<Integer, Integer> map = new HashMap<>();
		for (int i=0;i< nums.length;i++){
			if (map.containsKey(target-nums[i])){
				return new int[] {map.get(target-nums[i]),i};
			}
			map.put(nums[i],i);
		}

		return new int[0];
	}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

LetCode#1给定一个整数数组 nums 和一个整数目标值 target,请你在该数组中找出 和为目标值 的那 两个 整数,并返回它们的数组下标。JAVA 的相关文章

随机推荐

  • [JAVAee]Spring项目的创建与基本使用

    目录 Spring项目的创建 Spring中Bean对象的存储与获取 存储Bean对象 获取并使用Bean对象 getBean方法的重载 本文章介绍了Spring项目创建与使用的过程与一定的注意事项 Spring项目的创建 首先在IDEA中
  • 以太坊 Truffle实战

    目录 搭建私连网络 truflle初始化项目 智能合约示例 通用存证合约 初始化参数 接口 简易审批合约 初始化参数 数据结构 接口 智能合约的建立 谁在与智能合约交互 智能合约的销毁 整个过程主要演示chrome扩展 METAMASK O
  • 电源层和地线层完整性规则_电路设计规则

    电路图设计规则 一 电路设计流程 1 根据需求文件开始进行原理图设计 2 选择设计所需元器件 加载所需元件库 如果现有元件库没有所需元件 需自己制作 新制作的元器件要求功能形象化 标示准确化 选择合适的电路用于自己的设计完成相应的功能 确定
  • Unable to install breakpoint in XXX due to missing line number attributes.

    今天调试程序的时候 eclipse 弹出来一个 Unable to install breakpointdue to missingline number attributes Modify compileroptions togenera
  • 01.神经网络和深度学习——week2 神经网络基础(编程作业)

    Part 1 Python Basics with Numpy optional 1 Building basic functions with numpy 1 1 Sigmoid function np exp exe Build a f
  • Unity游戏开发客户端面经——C#(初级)

    前言 记录了总6w字的面经知识点 文章中的知识点若想深入了解 可以点击链接学习 由于文本太多 按类型分开 这一篇是C 常问问题总结 有帮助的可以收藏 1 引用类型 值类型 1 1 介绍 值类型 int bool float char str
  • 持续集成管理软件Jenkins应用实验

    编写Dockerfile文件 1 创建一个目录jenkins 保存相关的配置信息和内容 在 后输入mkdir Jenkins cd Jenkins命令 然后按Enter键 创建Jenkins目录并进入该目录 示例代码如下 root xian
  • UML建模与软件开发设计(七)——时序图设计

    在前面我们学习了类图相关知识 类图是一种静态结构模型视图 它是设计类及类间关系 即数据结构 的重要依据 但它无法刻画类的对象间的交互 通信行为 也就是说 类图无法描述类和类之间是如何通信 交互的 通俗地说 类图无法描述某个类的方法被哪个类所
  • OnTriggerEnter

    准备一个脚本 shiyan cs 脚本内容如下 脚本挂在小球上 然后运行场景 拖动小球撞盒子 然后再拖动盒子撞小球 分别看控制台打印结果 然后将脚本挂在盒子上 然后运行场景 拖动小球撞盒子 然后再拖动盒子撞小球 分别看控制台打印结果 OnT
  • 写一个Java程序,在程序中建立一个窗口

    编写一个Java程序 在程序中建立一个窗口 有四个文本框 两个按钮 单击 求和 按钮 能把第一个和第二个文本框的整数相加后结果显示在第三个文本框中 点击 复制 按钮 能将第三个文本框的内容复制到第四个文本框中 最后还可以正常关闭窗口 要创建
  • 后台管理系统----品牌管理

    目录 路由的搭建 品牌管理静态组件 品牌管理列表展示 element ui table表单组件 element ui el pagination分页器组件 插槽 网络请求 增删改牌静态页面 增删改品牌功能 书写api 增删改逻辑 表单校验
  • supervisor系列:4、子进程

    supervisor系列 4 子进程 文章目录 supervisor系列 4 子进程 1 非后台运行的子进程 1 1 程序配置示例 1 1 1 Apache 2 2 6 1 1 2 Two Zope 2 X instances and on
  • Windows命令行创建文件,文件夹,删除文件,文件夹命令

    创建文件夹命令 md 文件夹名字或者mkdir 文件夹名字 删除文件夹命令 rd删除空文件夹 rd s q 删除有子文件夹和子文件的文件夹 创建文件命令 type nul gt 可以带文件名 也可以不带文件名 这里用于空文件 echo 文件
  • mysql 常用函数

    一 mysql的函数 1 1 limit分页函数的使用 第一个起始的个数从0开始 第二个查询的个数 SELECT FROM student LIMIT 4 5 SELECT FROM student LIMIT 5 1 2 聚合函数 AVG
  • 【Linux】如何在进程间加锁(实现互斥)

    文章目录 前言 mmap 配合 pthread mutex t 先让多个进程能够看到一个num 多个进程互斥访问 具体代码 采用共享内存配合信号量 semget semctl semop 核心逻辑 管道 总结 前言 Linux 初识进程间通
  • python求一个整数的最大公约数_算法交流:7592 求最大公约数问题【2.1基本算法之递归和自调用函数】...

    题目描述 7592 求最大公约数问题 By OIer15WA给定两个正整数 求它们的最大公约数 输入输入一行 包含两个正整数 lt 1000000000 输出输出一个正整数 即这两个正整数的最大公约数 样例输入 6 9 样例输出 3 一 题
  • 《银河麒麟高级服务器操作系统V10》使用

    一言而论 讲了麒麟服务器V10的基本使用 包括终端 VNC 文章目录 前言 基本架构 环境 硬件环境 软件环境 麒麟安装步骤 1 在宿主机上安装好VM 并且激活 2 使用VM创建虚拟机 3 启动虚拟机 终端常用点 VNC的使用 麒麟上安装V
  • 关于MeasureSpec的一些理解

    MeasureSpec有以下三种模式 public static final int UNSPECIFIED 0 lt lt MODE SHIFT public static final int EXACTLY 1 lt lt MODE S
  • Qt编程(二)-初步进阶

    Qt编程 初步进阶 前言 一 Qt自定义信号和槽 1 自定义信号和槽 2 自定义信号带参数重载问题 3 函数重载问题总结 4 信号和槽的扩展 1 信号连接 connect 2 信号的断开 disconnect 3 信号和槽的参数 二 Lam
  • LetCode#1给定一个整数数组 nums 和一个整数目标值 target,请你在该数组中找出 和为目标值 的那 两个 整数,并返回它们的数组下标。JAVA

    题目 给定一个整数数组 nums 和一个整数目标值 target 请你在该数组中找出 和为目标值 的那 两个 整数 并返回它们的数组下标 你可以假设每种输入只会对应一个答案 但是 数组中同一个元素在答案里不能重复出现 你可以按任意顺序返回答