【leetcode】Java 力扣第一题(两数之和)简单

2023-11-11

废话不多说,直接上干货

Leetcode每日一题

2021/10/18开启,有的人夜里去看海,有的人力扣第一题就做不出来

犹记得那次在刘老师强推下开了力扣的刷题之旅,

用打开力扣APP

第一题,选择简单模式,轻车熟路,啧啧啧

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

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

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

这不是有手就行吗?

格局打开,直接拿下!

看下题目要求

啊这???等等,What’s up。我手呢??

由于力扣是有些类似于蓝桥杯算法竞赛这样的输入输出纯IO根据案例判断正确与否的

输入的是 nums = [2,7,11,15], target = 9

那么问题就来了

如何去掉英文数组名Nums 和符号 = 【 】 , 将我们所需要的有效的整数提取出来呢?

(因为我第一次刷题是用APP,不知道在pc答题只用写solution这个核心方法)

从八月初开始接触力扣,因为第一题的将输入中的有效数字接受提取搞不出来直接劝退。

时隔两月,感谢那个在10.15日周五夜里手把手教我如何用力扣刷题并且用一个hasNextInt()敦敦教诲的杰哥@沉默着忍受

(先不@好叭,等我博客写的跟我哥一样牛批不丢他人了再@~)

关于hasNextInt()方法的使用,请允许我贴个大佬的帖子,方便我后续复习:

Java中hasNextInt()方法_柠檬鱼的博客-CSDN博客_java中hasnextint()

对了,这是那天夜里老哥传我的书,今天看了个知识点,贴在这里,

对Public static void main(String args[ ] )有了新的理解

 

再回头逐行解读力扣的第一道题吧

下面用到第0个知识点!

方法头里 返回值类型是 整形数组

public int[] twoSum(int[] nums, int target) 

那么我们的返回值就要注意,也是return 数组名;

数组名即可!

两层for循环嵌套,如果找到合适的index下标i,j能凑出来

nums[i]+nums[j]==target;

那么直接返回

return new int[ ]{I,j};

对于数组的声明不熟悉的可以看一下这位大佬的帖子,非常详尽!

java数组完全解析(干货满满)_swordsmanye的博客-CSDN博客_java数组

此处注意,编译器会自动判断你在for循环里满足判断条件,会按照上述语句返回。

那么如果不满足呢?出了for循环外,

这就要求我们在跳出for循环后直接加上

注意这句话一定要加在跳出循环后保底有返回值哦

return new int[0];

接下来就是solution方法的核心语句了

由于题目给出的输入样例都是正整数,

所以我自作聪明搞了个如下的代码

class Solution
{
    public int[] twoSum(int[] nums, int target) 
    {
		
    	for(int i=0;i<nums.length;i++)
    	{
    		if (target<nums[i])
    			continue;
    		if(target>=nums[i])
    		{
    			for(int j=i+1;j<nums.length;j++)
    			{
    				if(nums[i]+nums[j]==target){return new int[] {i,j};}
    			}
    		}
    	}
		return  new int[0] ;
    }
}

当数组中都是正整数进行凑数时,因为目标值target是两数相加的和,如果target已大于其中一个正整数,那么显然没必要再继续看下去,直接抬走下一位

结果没想到,终究是你旭格局小了

Leetcode输入样例的数组中有负数!!!

终究是官方技高一筹啊!

所以读者大大们刷题一定要看清要求呀!

这只是第一题,万事开头难,不要还没开始就结束了哇

最后附上小菜鸡的力扣第一题源码:

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

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

【leetcode】Java 力扣第一题(两数之和)简单 的相关文章

随机推荐

  • smbms-AJAX验证旧密码实现

    优化密码修改使用ajax 主要是与前端接轨 1 阿里巴巴fastjson maven导入 导入包
  • matlab:txt数据文件的读出与读取

    输出数据 fid fopen hello txt w 需要改文件名称的地方 fprintf fid 10 3f n data data 需要导出的变量名称 10位有效数字 保留3位小数 包含小数点 f为双精度 g为科学计数法 fclose
  • 全志V3S开启启动

    一 TurnOffMute sh 创建自己需要的脚本 我这里创建关闭静音的脚本 vi TurnOffMute sh 然后往其中添加需要执行的命令 然后赋予可执行的权限 chmod 777 TurnOffMute sh 二 etc rc lo
  • 使用matlab对行人视频进行检测的代码的分析

    function F hogcalculator img cellpw cellph nblockw nblockh nthet overlap isglobalinterpolate issigned normmethod HOGCALC
  • linux定时清理文件的脚本

    1 新建清理文件脚本 vim autodelfile sh bin sh find 对应目录 mtime 天数 name 文件名 exec rm rf find linux的查找命令 用户查找指定条件的文件 home trans app f
  • 虚拟机的三种网络模式详解

    虚拟机的三种网络模式详解 1 桥接模式 此模式下 虚拟机的操作系统就像和物理机同一段网络中的物理机一样 它可以访问网络中的任何机器 同时只要物理机可以访问网络 虚拟机也可以实现上网 此模式是懒人模式首选 但换来一个问题就是 如果你的物理机网
  • PyCharm 新项目关联到码云(Gitee)源代码管理

    1 在 PyCharm 中创建新项目 打开 PyCharm 点击 Create New Project 或 File gt New Project 然后按照提示完成新项目的创建 2 在码云上创建新仓库 登录到你的码云账户 点击 新建仓库 输
  • Elasticsearch实战(七)---BestFields MostFields CrossFields 多字段搜索策略

    Elasticsearch实战 BestFields MostFields 搜索策略 文章目录 Elasticsearch实战 BestFields MostFields 搜索策略 1 字段中心及词条中心查询 2 Multi match q
  • qt实现QLabel上显示的文字有描边

    qt实现文字描边 效果图 开发环境 项目示例 综述 效果图 此程序运行的效果 开发环境 1 关于我的开发环境 我目前有点迷惑 我的QtCreator中帮助 关于QtCreator 得到如下所示 但是我的安装包上却写着5 12 9 我的理解就
  • Bash 脚本 set 命令教程

    转自 http www ruanyifeng com blog 2017 11 bash set html utm source tool lu 服务器的开发和管理离不开 Bash 脚本 掌握它需要学习大量的细节 set命令是 Bash 脚
  • 在自己电脑上的idea运行java web项目 如何用外网访问

    目的 本人目前Android开发比如手机的销售统计激活数据上传 自己先写一个网络接口测试等后端写好了换上去就行 用自己的电脑当作服务器 使用IntelliJ IDEA 创建一个springboot 部署在自己电脑上 使用手机请求网络接口 或
  • ddt数据驱动常见的用法【多测师_王sir】

    一 背景 一般进行接口测试时 每个接口的传参都不止一种情况 一般会考虑正向 逆向等多种组合 所以在测试一个接口时 通常会编写多条case 而这些除了传参不同外 并没有什么区别 这个时候就可以利用ddt来管理测试数据 提高代码复用率 二 dd
  • 2017今日头条网招在线编程题(部分)

    第一题 P 为 给 定 的 二 维 平 面 整 数 点 集 定 义 P 中 某 点 如 果 满 足 P 中 任 意 点 都 不 在 的 右 上 方 区 域 内 横 纵 坐标 都 大 于 则 称 其 为 最 大 的 求 出 所 有 最 大 的
  • 牛客-困难及极难难度python

    1 字符串最后一个单词的长度 计算字符串最后一个单词的长度 单词以空格隔开 字符串长度小于5000 def get length input str input str list input str strip split if len s
  • 高并发内存池项目(concurrent memory pool)

    一 高并内存池概念 内存池 Memory Pool 是一种动态内存分配与管理技术 通常情况下 程序员习惯直接使用 new delete malloc free 等API申请分配和释放内存 这样导致的后果是 当程序长时间运行时 由于所申请内存
  • Git使用方法笔记1——Git

    git 安装包 源 https npm taobao org mirrors git for windows v2 22 0 windows 1 一 Git基本操作 查看git安装路径 where git 1 设置本地系统用户名和邮箱 gi
  • 基于ArcGIS的nc(NETCDF)转tif格式

    软件版本 ArcMap10 4 1 nc NETCDF 是一组独立于机器的软件库支持创建 访问和共享面向阵列的数据格式科学数据 它也是共享科学数据的社区标准 摘自Unidata官网 被广泛应用于大气 海洋 水文等领域 是我们日常学习和工作中
  • LVM 磁盘结构

    复杂度3 5 机密度4 5 最后更新2021 05 17 VG由一堆PV组成 每个PV的头是ipl rec 无论这个PV能不能boot 只要是AIX的盘 曾经标记过PVID 都在最初0字节标记0xc9c2d4c1 这个是EBCIDIC编码的
  • c++ 代码连接激光雷达,使用 pybind11 得到python模块,可以直接在python中连接雷达,获取 numpy 格式激光数据

    注意 这个程序最后需要编译为 python 的一个模块 然后导入python中使用 底层原理是python调用c 程序连接激光雷达 然后把获取的数据转换为numpy格式 因为用python太慢了 C 函数 用于获取一个帧的数据并将其转换为P
  • 【leetcode】Java 力扣第一题(两数之和)简单

    废话不多说 直接上干货 Leetcode每日一题 2021 10 18开启 有的人夜里去看海 有的人力扣第一题就做不出来 犹记得那次在刘老师强推下开了力扣的刷题之旅 用打开力扣APP 第一题 选择简单模式 轻车熟路 啧啧啧 给定一个整数数组