js测试题

给定一个整数字符串,找出和为特定数字的两个数。
两数和(twoSum)这个函数应该返回和为目标值的两个数字的下标。
可以假设每个输入都会只有一种答案,并且同样的元素不能被重用。

示例:
给定 nums = [2, 7, 11, 15], target = 9,
因为 nums[0] + nums[1] = 2 + 7 = 9,
返回 [0, 1].
var twoSum = function (nums, target) {
    var x = [];
    for (var i = 0; i < nums.length; i++) {
        for (var j = 1; j < nums.length; j++) {
            if (i != j && nums[i] + nums[j] === target) {
                x.push(i);
                x.push(j);
                return x;
            }

        }
    }
}
console.log(twoSum([2, 7, 11, 15],9))
var twoSum = function (nums, target) {
    var ans = []; var map = []; for (var i = 0; i < nums.length; i++) {
        if (map[target - nums[i]] !== undefined) {
            ans[0] = parseInt(map[target - nums[i]]);
            ans[1] = i;
            return ans;
        }
        map[nums[i]] = i;
    }
}
console.log(twoSum([2, 7, 11, 15], 9))
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 1. 找出数组中重复的数字 题目:在一个长度为n的数组里的所有数字都在0到n-1的范围内。数组中某些数字是重复的,...
    BookThief阅读 1,824评论 0 2
  • 官网 中文版本 好的网站 Content-type: text/htmlBASH Section: User ...
    不排版阅读 4,489评论 0 5
  • 在C语言中,五种基本数据类型存储空间长度的排列顺序是: A)char B)char=int<=float C)ch...
    夏天再来阅读 3,425评论 0 2
  • 简述 极客时间算法40讲中所出现的leetcode算法题 题目 【链表】reverse-linked-list(反...
    BestbpF阅读 4,507评论 0 4
  • 你那么的专一,只喜欢着自己,不愿分一点爱给我,可我却花心的有点过分,喜欢着每一秒的你,同样是喜欢你,这样子的我们挺...
    邓小青年阅读 168评论 0 0