小编Krz*_*nek的帖子

Ruby如何返回一对的索引

今天我得到了一个给定数组和'target'的任务,它是该列表中2个整数的总和.一段时间后,我出来了草案解决方案,但它似乎没有通过所有的测试.算法似乎在[0]两次考虑整数.

def two_sum(numbers, target)

numbers.combination 2 do |a, b|
 if a + b == target
  return numbers.index(a), numbers.index(b)
  end
 end
end

print two_sum([1, 2, 3], 4) # Expected [0, 2] *OK

print two_sum([1234, 5678, 9012], 14690) # Expected [1, 2] *OK

print two_sum([2, 2, 3], 4) # Expected [0, 1]) but I get [0, 0] 
Run Code Online (Sandbox Code Playgroud)

我试图首先使用.map而不是.combination(2)方法,但结果完全相同: - /

ruby algorithm math indexing

0
推荐指数
1
解决办法
87
查看次数

标签 统计

algorithm ×1

indexing ×1

math ×1

ruby ×1