栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

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

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

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

废话不多说,直接上干货

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()方法的使用,请允许我贴个大佬的帖子,方便我后续复习:

https://blog.csdn.net/weixin_45152202/article/details/116226276?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522163456316016780261923794%2522%252C%2522scm%2522%253A%252220140713.130102334..%2522%257D&request_id=163456316016780261923794&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2~all~sobaiduend~default-1-116226276.pc_search_result_control_group&utm_term=JAVA+hasNextInt&spm=1018.2226.3001.4187

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

对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};

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

https://blog.csdn.net/nishiwodebocai21/article/details/96484891?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522163456341016780366578965%2522%252C%2522scm%2522%253A%252220140713.130102334..%2522%257D&request_id=163456341016780366578965&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2~all~top_positive~default-1-96484891.pc_search_result_control_group&utm_term=JAVA%E6%95%B0%E7%BB%84&spm=1018.2226.3001.4187

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

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

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

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

return new int[0];

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

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

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

class Solution
{
    public int[] twoSum(int[] nums, int target) 
    {
		
    	for(int i=0;i=nums[i])
    		{
    			for(int j=i+1;j 

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

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

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

 

 

终究是官方技高一筹啊!

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

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

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

 

class Solution
{
    public int[] twoSum(int[] nums, int target) 
    {
        int l=nums.length;
        for(int i =0;i 

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/331679.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号