两数之和

给定一个整数数组 nums 和一个目标值 target,请你在该数组中找出和为目标值的那 两个 整数,并返回他们的数组下标。你可以假设每种输入只会对应一个答案。但是,数组中同一个元素不能使用两遍

暴力解法:依次遍历一个数与某一个数是否和为target,但是此方法时间成本高

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

方法二:

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

            }
            return [];
        }
        
posted @ 2020-07-11 09:29  Cupid05  阅读(121)  评论(0编辑  收藏  举报