leetcode刷题记录--js

时间:2020-11-28 06:11:59

leetcode刷题记录

  1. 两数之和

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

    你可以假设每种输入只会对应一个答案。但是,你不能重复利用这个数组中同样的元素。

    给定 nums = [2,7,11,15], target = 9
    因为 nums[0] + nums[1] = 2 + 7 = 9
    所以返回[0,1]

    分析:

    1.题目给出了一个整数数组和目标值,所以定义的函数就该传入这两个参数

    2.不能重复使用数组中下标相同的元素

    3.函数最后返回的值是满足条件的两个数的索引值

    解题:

    1.第一种解法

    var twoSum = function(nums, target) {
        var arrs = [];
        for (var i = 0; i < nums.length - 1; i++) {
            for (var j = i + 1; j < nums.length; j++) {
                if (target == nums[i] + nums[j])
                    nums.push(i);
                 nums.push(j);
            }
            return arrs;
        }
    };

    2.第二种解法

    var twoSum = function(nums, target) {
        for (var i = 0; i < nums.length - 1; i++) {
            for (var j = i + 1; j <nums.length; j++) {
                if (target = nums[i] = nums[j]) {
                    return [i,j];
                }
            }
        }
    };

    总结:

    1.js中的Array对象的push()方法表示可以向数组的末尾添加体格或多个元素,并返回新的长度。

    2.push() 方法可把它的参数顺序添加到 arrayObject 的尾部。它直接修改 arrayObject,而不是创建一个3.新的数组。push() 方法和 pop() 方法使用数组提供的先进后出栈的功能。

    该方法会改变数组的长度。