【LeetCode热题100】--1.两数之和

news2024/11/14 3:25:17

1.两数之和

image-20230728231425709

方法一:最直观的方法就是暴力破解,就是枚举数组中的每一个数x,寻找数组中是否存在target-x

class Solution {
    public int[] twoSum(int[] nums, int target) {
        int n = nums.length;
        for(int i=0;i<n;i++){
            for(int j = i+1 ;j<n;j++){
                if(nums[i]+nums[j] == target){
                    return new int[]{i,j};
                }
            }
        }
        return new int[0];
    }
}
  • 时间复杂度: O ( N 2 ) O(N^2) O(N2)
  • 空间复杂度: O ( 1 ) O(1) O(1)

对于最后返回new int[0]返回一个长度为0的空数组

对于返回数组的题目,注意最后的返回值不能直接为null,可能的原因是为了更进一步的处理数组返回值,如果返回值为null,则任何方法都不能对其进行操作。

对于数组作为输入时的判断准则也应该分为两步:对于数组而言,不但要判断它是否为空指针,也需要判断它是否有内容,同时要先判断空指针再判断长度是否为0,顺序不能颠倒,因为空指针没有length属性。

方法二:利用哈希表

创建一个哈希表,对于每个x,首先查询哈希表中是否存在target-x,然后将x插入到哈希表中,即可保证不会让x和自己匹配

class Solution {
    public int[] twoSum(int[] nums, int target) {
        // 创建一个哈希表
        Map<Integer,Integer> hashtable = new HashMap<Integer,Integer>();
        for (int i = 0;i< nums.length;i++){
            //判断哈希表中是否存在target-x
            if(hashtable.containsKey(target - nums[i])){
                return new int[]{hashtable.get(target - nums[i]),i};
            }
            //将x插入到哈希表中
            hashtable.put(nums[i],i);
        }
        return new int[0];
    }
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1012943.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

基于SpringBoot的旅游系统

基于SpringBootVue的旅游系统、前后端分离 开发语言&#xff1a;Java数据库&#xff1a;MySQL技术&#xff1a;SpringBoot、Vue、Mybaits Plus、ELementUI工具&#xff1a;IDEA/Ecilpse、Navicat、Maven 【主要功能】 角色&#xff1a;管理员、用户 用户&#xff1a;浏览旅游…

动态代理是什么?应用场景在哪?

一、什么是动态代理 代理&#xff0c;是一种设计模式&#xff0c;提供了对目标对象额外的访问方式&#xff0c;即可以通过代理访问目标对象&#xff0c;这样可以在不修改原目标对象的前提下&#xff0c;提供额外的方式进行访问&#xff0c;以保护原有的真实访问对象而根据创建…

人人组队与人机组队的风险

无论人与人之间还是人与机之间&#xff0c;只要有协同就会有风险。其原因主要是&#xff1a;协同可能导致合作伙伴之间的利益冲突&#xff0c;协同合作还可能引发信息共享的风险&#xff0c;协同可能面临合作对象的信任问题&#xff0c;协同合作还可能受到外部环境的影响等等。…

Java基于SpringBoot的闲一品交易平台

博主介绍&#xff1a;✌程序员徐师兄、7年大厂程序员经历。全网粉丝30W,Csdn博客专家、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和毕业项目实战✌ 大家好&#xff0c;我是程序员徐师兄、今天给大家谈谈基于android的app开发毕设题目&#xff0c;以及基于an…

销售更喜欢的CRM软件系统

企业在实施CRM系统后&#xff0c;大多数销售人员都会抵触。他们认为这是一款麻烦且用来监视他们的工具。其实&#xff0c;CRM可以帮助他们更好地完成销售工作。那么&#xff0c;什么样的CRM系统销售更喜欢&#xff1f; 销售人员最关心的是如何提高自己的业绩和收入&#xff0c…

亲测!好用的电子期刊制作工具

宝贝们&#xff0c;今天来给大家分享一个超级实用的网站&#xff01;电子期刊制作&#xff0c;完全不用再求人&#xff01;简单易操作&#xff0c;分分钟让你成为制作达人&#xff01; ​无论你是想制作一个精美的个人简历&#xff0c;还是想制作一个有吸引力的企业期刊&#…

性能测试之压力测试

文章目录 一.基本介绍二.性能指标三.下载安装JMeter1.下载安装包2.启动JMeter 四.使用JMeter1.模拟用户请求2.填写测试地址3.接收测试结果4.结果解释 一.基本介绍 压力测试考察当前软硬件条件下系统所能承受的最大负荷并找到系统瓶颈所在。压测是为了系统在线上的处理能力和稳定…

24.98万起,新一代AITO问界M7值得买吗?

监制 | 何玺 排版 | 叶媛 问界汽车新品来袭。 9月12日下午&#xff0c;问界汽车为全新的M7系列车型举行了发布会。华为常务董事余承东&#xff0c;在全网一片“遥遥领先”呼声的烘托下&#xff0c;上台发表演讲&#xff0c;详细介绍了M7的全面升级和各大亮点。 01 新一代AI…

今日事今日毕,推荐五款无广告的免费软件

​ 大家好&#xff0c;我是互联网的搬运工&#xff0c;今天继续给大家带来五款没有广告的免费软件。 1.视频编辑——Shotcut ​ Shotcut 是一款免费、开源、跨平台的视频编辑软件&#xff0c;支持多种音频和视频格式和编码&#xff0c;无需导入即可进行本地编辑&#xff0c;支…

【java】【SpringBoot】【一】基础篇 SpringBoot工程创建和实现ssm/ssmp整合

目录 一、快速上手SpringBoot 1 创建SpringBoot入门程序 1.1 创建一个empty Project 1.2 查看maven版本&#xff0c;配置 1.3 创建模块 &#xff08;springboot选择Spring Initializr&#xff09; 1.4 编写BookController类&#xff08;基于rest的MVC控制器&#xff09; …

【深度学习】Pytorch 系列教程(二):PyTorch数据结构:1、Tensor(张量): GPU加速(GPU Acceleration)

目录 一、前言 二、实验环境 三、PyTorch数据结构 0、分类 1、张量&#xff08;Tensor&#xff09; 1. 维度&#xff08;Dimensions&#xff09; 2. 数据类型&#xff08;Data Types&#xff09; 3. GPU加速&#xff08;GPU Acceleration&#xff09; 一、前言 ChatGP…

【DevOps系列】Docker数据卷(volume)详解

【DevOps系列】Docker数据卷&#xff08;volume&#xff09;详解 文章目录 【DevOps系列】Docker数据卷&#xff08;volume&#xff09;详解一、概述二、数据卷三、为什么使用数据卷volume数据卷的作用&#xff1a;数据卷的特点&#xff1a; 四、数据卷volume基本操作4.1 创建数…

YOLOv5训练自定义模型 训练

说明&#xff1a; 1、训练过程请参考官网&#xff1a;https://github.com/ultralytics/yolov5/wiki/Train-Custom-Data 2、本课使用的是YOLOv5 6.1版本&#xff0c;其他版本训练过程可能有不同&#xff0c;请以官网为准 3、硬件&#xff1a;Windows 11 、GPU GeForce 3070Ti…

element-ui tree组件实现在线增删改

这里要实现一个tree 增删改 <!--oracle巡检项--> <template><div class"oracle_instanceType"><el-row type"flex" align"middle" justify"space-between"><iclass"el-icon-s-fold iBox"click&q…

班级成绩管理利器

在现代教育管理中&#xff0c;一款方便快捷的班级查询工具是老师们的必备利器。易查分就是这样一款工具&#xff0c;能够帮助老师和学生轻松地管理和查询成绩。传统的纸质成绩单已经被易查分的电子成绩单所取代&#xff0c;这种方式带来了方便快捷等多种优势&#xff0c;为学生…

笔记1.2 计算机网络结构

网络边缘 主机、网络应用 接入网络&#xff0c;物理介质 有线或无线通信链路 网络核心&#xff08;核心网络&#xff09;&#xff1a; 互联的路由器&#xff08;或分组转发设备&#xff09; 网络之网络 一、网络边缘 主机&#xff08;端系统&#xff09;&#xff1a; 位…

PHP通过pem文件校验签名异常

问题描述&#xff1a; 在对接第三方支付过程中&#xff0c;支付成功异步回调时&#xff0c;校验签名&#xff0c;一直无法通过。 但是在支付成功时有一个同步返回也需要校验签名&#xff0c;用的是同样的校验方法&#xff0c;都没有问题。 当把回调时传递的参数放在postman中&a…

Windows自带的远程桌面连接教程

文章目录 1.鼠标右键“我的电脑”-“属性”2.在左侧找到“远程设置”-在远程桌面设置处勾选“允许远连接到此计算机”3.关闭防火墙&#xff0c;根据使用的网络选择关闭对应的防火墙4.远程连接按WINR,输入mstsc&#xff0c;回车进入到远程桌面连接页面 1.鼠标右键“我的电脑”-“…

2023/9/15 -- C++/QT

作业&#xff1a; 1> 将工程文件进行注释 2> 03login_box.pro: QT core gui #core核心库 gui图形开发库greaterThan(QT_MAJOR_VERSION, 4): QT widgets #4.0版本以上自动包含widgets库CONFIG c11 #支持C11版本# The following define makes your compiler em…

Elasticsearch 8.10 中引入查询规则 - query rules

作者&#xff1a;Kathleen DeRusso 我们很高兴宣布 Elasticsearch 8.10 中的查询规则&#xff01; 查询规则&#xff08;query rules&#xff09;允许你根据正在搜索的查询词或根据作为搜索查询的一部分提供的上下文信息来更改查询。 什么是查询规则&#xff1f; 查询规则&…