首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >我的算法有点错误,而且效率很低。

我的算法有点错误,而且效率很低。
EN

Stack Overflow用户
提问于 2017-03-02 09:24:19
回答 4查看 363关注 0票数 1

我正在尝试在Codewar网站上实现名为“对的和”()的算法。我已经写了一个算法,但它没有通过所有的测试,它需要大量的时间来处理。请你建议我如何正确有效地解决这个问题。谢谢!

指示如下

代码语言:javascript
运行
复制
sum_pairs([11, 3, 7, 5],         10)
#              ^--^      3 + 7 = 10
== [3, 7]

sum_pairs([4, 3, 2, 3, 4],         6)
#          ^-----^         4 + 2 = 6, indices: 0, 2 *
#             ^-----^      3 + 3 = 6, indices: 1, 3
#                ^-----^   2 + 4 = 6, indices: 2, 4
#  * entire pair is earlier, and therefore is the correct answer
== [4, 2]

sum_pairs([0, 0, -2, 3], 2)
#  there are no pairs of values that can be added to produce 2.
== None/nil/undefined (Based on the language)

sum_pairs([10, 5, 2, 3, 7, 5],         10)
#              ^-----------^   5 + 5 = 10, indices: 1, 5
#                    ^--^      3 + 7 = 10, indices: 3, 4 *
#  * entire pair is earlier, and therefore is the correct answer
== [3, 7]

我的代码是:

代码语言:javascript
运行
复制
var sum_pairs=function(ints, s){
    var total = 0;
    var list = [];
    for (var i=0; i < ints.length; i++) {
      for (var j=1; j < ints.length; j++) {
          total = ints[i]+ints[j];
          if (total === s) {
            list.push(ints[i], ints[j]); 
            return list;
        }  
        //console.log(total);
      }
    }
}

sum_pairs([1,2,3,4,1,0], 2);

而且它没有通过这个测试:

代码语言:javascript
运行
复制
✘ First Match From Left REDUX!: [10,5,2,3,7,5] should return [3, 7] for sum = 10
EN

Stack Overflow用户

回答已采纳

发布于 2017-03-02 11:15:09

如果需要10M元素数组,则不能使用O(N^2)算法。下面的代码如何?

代码语言:javascript
运行
复制
var sum_pairs=function(ints, s, und){
    var h = {}
    for(var i=ints.length - 1; i >= 0; --i){
      h[ints[i]] = i
    }
    for(var i=0; i < ints.length; ++i){
      var ci = ints[i]
      var e = h[s - ci]
      if(e < i){
        return [s - ci, ci]
      }
    }
    return und
}
票数 2
EN
查看全部 4 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/42551366

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档