美文网首页
算法之争:LeetCode01两数之和

算法之争:LeetCode01两数之和

作者: 司徒新新 | 来源:发表于2020-05-21 15:58 被阅读0次
题目:

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

你可以假设每种输入只会对应一个答案。但是,数组中同一个元素不能使用两遍。

给定 nums = [2, 7, 11, 15], target = 9

因为 nums[0] + nums[1] = 2 + 7 = 9
所以返回 [0, 1]

遇到这道题的第一想法就是遍历两遍,然后取值对比,然后看了题解里面,果然是对的.
但是当时我犯了个二😅😅😅.简单测了一下没问题,哈哈,也是马虎.

public int[] twoSum(int[] nums, int target) {
    for(int i = 0; i < nums.length; i ++) {
        for (int j = 0; j < nums.length; j ++) {
            if (nums[i] + nums[j] == target) {
                return new int[]{i, j};
            }
        }
    }
    throw new IllegalArgumentException("没有俩数相加等于指定数");
}

能看出问题不,我简直就是傻,测试的时候对了,但是提交的时候报错了!!
然后仔细的看了看就发现了问题!

for (int j = i + 1; j < nums.length; j ++) {

换成这样就对了!!!

时间复杂度:O(n^2)
空间复杂度:O(1)

这个是最简单的,一般都会答出来,第一题么,一般应该不会太难,让人们多点信心么!

后面两种是使用map做的,当时没想到.算是用空间换时间,所以我只是跟着学了一下.建议大家去官网查看!
点击查看后两种方法

相关文章

  • 算法之争:LeetCode01两数之和

    题目: 给定一个整数数组 nums 和一个目标值 target,请你在该数组中找出和为目标值的那 两个 整数,并返...

  • 「算法」两数之和 & 两数之和 II

    00001 两数之和 题目描述 给定一个整数数组和一个目标值,找出数组中和为目标值的两个数。 你可以假设每个输入只...

  • 算法:两数之和

    给定一个整数数组和一个目标值,找出数组中和为目标值的两个数。你可以假设每个输入只对应一种答案,且同样的元素不能被重...

  • 算法-两数之和

    这是一道LeetCode上的问题,详见两数之和,难度标注是简单,但是我思考到了一些比较复杂的情况,之后我会修改题目...

  • 算法--两数之和

    问题描述: 给定一个整数数组和一个目标值,找出数组中和为目标值的两个数。 你可以假设每个输入只对应一种答案,且同样...

  • 算法「两数之和」

    题目:给出数组nums和目标值target,找出和为目标值的两个数在数组中 想法:定义数组和目标值,遍历数组x使得...

  • 算法-两数之和

    算法对于程序的重要性不言而喻,所以从今天开始要一点一滴地积累自己的算法知识,同时也要充分地利用使用的程序语言所提供...

  • 算法:两数之和

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

  • 算法----两数之和

    给定一个数组,一个目标值,请在数组中找到和为目标值的两个数字,并返回他们的数组下标。 你可以假设每种输入只会对应一...

  • 算法——两数之和

    找出数组中两数之和等于目标数的下标 1、建一个桶,桶里key是没有找到差值的元素,value是它的index;2、...

网友评论

      本文标题:算法之争:LeetCode01两数之和

      本文链接:https://www.haomeiwen.com/subject/izozohtx.html