拿下力扣!

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档

文章目录


前言

     为了不只能看别人相爱,夜里相约看海,而你leetcode第一题都做不出来,所以让我们一起继续遨游在力扣题海,让别人也只有看的份!(虽然我也很想和那个她相约看海HHHH)

一、题目

     若数组中存在两个元素的和等于给定的目标值,则输出这两个元素的下标。

示例 1:
输入:nums = [4,3,24,11,12], target = 15
输出:[1,4]
解释:因为 nums[1] + nums[4] == 15 ,返回 [1, 4] 。
 

二、具体步骤

1.直接遍历数组元素

代码如下(示例):

import java.util.Arrays;
public class TowSum {
    public static int[] Array(int[] nums, int target) {
        for (int i = 0; i < nums.length; i++) {  //其中i,j代表元素下标
            for (int j = i + 1; j < nums.length; j++) { 
                if (nums[i] + nums[j] == target) {
                    return new int[]{i, j};
                }
            }
        }
        return new int[0];
    }

    public static void main(String args[]) {
        int[] towsum = {2, 7, 11, 15};
        int target = 9;
        int[] temp = Array(towsum, target);
        String str = Arrays.toString(temp);
        System.out.println(str);
    }
}

2.用Map.containsKey()方法判断

  Map.containsKey()方法为Java集合类中的方法,可以判断是否包含指定的键名,如果Map集合中包含指定的键名则返回true,否则返false。 

代码如下(示例):
for(int i = 0; i<nums.length ; i++){
if (hashtable.containsKey(target - nums[i])) { //列如9-2=7 ,如果数组存在元素7,则代表找到了两个目标元素
           return new int[]{hashtable.get(target - nums[i]), i};//得到键值对
                }
                hashtable.put(nums[i], i);
            }
            return new int[0];
        }


总结

     今天主要是复习了对于数组的认识和相关的操作,主要是用到了遍历的手法;除此之外,就是接触到了Java 集合类中的 Map.containsKey() 方法,这个方法对于寻找目标值来说的确方便了很多。对于刚开始刷题的小白,可能有的地方很难注意到,并且对于知识的综合等等一些方面都比较薄弱,但是一定要坚持下去,就算每天学一个知识点,写一道题目,长此以往一定会有新的风景等着你,让我们一起长风破浪。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值