当前位置: 首页 > news >正文

1.两数之和--力扣

给定一个整数数组 nums 和一个整数目标值 target,请你在该数组中找出 和为目标值 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]

提示:

2 <= nums.length <= 104
-109 <= nums[i] <= 109
-109 <= target <= 109
只会存在一个有效答案

进阶:你可以想出一个时间复杂度小于 O(n2) 的算法吗?

原题如上

我参考了题解,如下(别人写的,我是搬运工):
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
我写的代码如下(如有不完善的地方,希望小伙伴指出):

package t1;import java.util.HashMap;
import java.util.Scanner;public class ADD {public static void main(String[] args) {Scanner sc = new Scanner(System.in);System.out.print("请输入数组长度:");int len = sc.nextInt();//给定数组长度int[] nums = new int[len]; ;System.out.println("请输入数组的值:");for (int i = 0; i < len; i++) {int a = sc.nextInt();nums[i] = a;}System.out.print("请输入target的值:");int target = sc.nextInt();//设定目标值int s = 0;int a = 0;HashMap<Integer, Integer> hm = new HashMap<>();//创建HashMap集合for (int i = 0; i < len; i++) {s = target - nums[i] ;if (hm.containsKey(s)) {a = i;//将下标存下来break;}hm.put(nums[i], i);//不满足if条件时,将数组元素和下标加入到hm中//元素为key值,下标为value}for(int i = 0;i < len;i++) {//循环遍历找到s的下标if(nums[i]==s){System.out.println("["+i+","+a+"]");break;}}}
}

运行结果如下:

在这里插入图片描述


http://www.mrgr.cn/news/83385.html

相关文章:

  • PySide6 Qt for Python Qt Quick参考网址
  • 通过可穿戴外骨骼,以更灵活的方式操作你的机器人。
  • poi处理多选框进行勾选操作下载word以及多word文件压缩
  • 【数据结构】航班查询系统:链表的实际运用
  • 关于内网外网,ABC类地址,子网掩码划分
  • SQL Server 数据库给第三方用户开权限,限制可见内容
  • 第26章 汇编语言--- 内核态与用户态
  • 01 Oracle自学环境搭建(Windows系统)
  • 超完整Docker学习记录,Docker常用命令详解
  • 模式识别与机器学习
  • 类与对象(上)
  • Python自学 - 类进阶(可调用对象)
  • 《HeadFirst设计模式》笔记(下)
  • 第27章 汇编语言--- 设备驱动开发基础
  • RNN之:LSTM 长短期记忆模型-结构-理论详解(Matlab向)
  • win32汇编环境,怎么进行乘法运算的
  • 测试开发之面试宝典
  • 01 springboot集成mybatis后密码正确但数据库连接失败
  • JVM与Java体系结构
  • SQL从入门到实战-2
  • 【华为云开发者学堂】基于华为云 CodeArts CCE 开发微服务电商平台
  • Mysql进阶篇
  • 01 Oracle自学环境搭建
  • Lambda expressions in C++ (C++ 中的 lambda 表达式)
  • L1G5000 XTuner 微调个人小助手认知
  • Microsoft 已经弃用了 <experimental/filesystem> 头文件