【发布时间】:2020-05-06 09:23:06
【问题描述】:
这是关于stackoverflow的第一个问题:)
考虑一个由任意整数组成的随机数组
a = [5, 10, 2, 3, 56]
我想编写一个代码,同样比较每个元素:索引 i (el_i) 的元素与索引 i + 1 (el_i+1) 的元素(并继续与元素索引 i + 1 (el_i+1) 进行比较) 具有索引 i + 2 (el_i+2) 直到 a.length 的元素。然后我想根据比较的结果对元素求和。这是一个失败的尝试描绘它的例子:
def conditional_sum(array)
sum = 0
array.each_with_index do |element, i|
if array[i] >= array[i + 1]
sum += element
else
sum -= element
end
end
sum
end
另一个是从前一个数组中创建 2 个数组并删除最后一个元素(我省去了获取它们的代码),然后比较同样具有相同索引的元素:
a = [5, 10, 2, 3, 56]
a_bis = [5, 10, 2, 3]
b = [10, 2, 3, 56]
sum = 0
for i in [0..a_bis.length]
if a_bis[i] >= b[i]
sum += a_bis[i] + b[i]
else
sum -= a_bis[i] + b[i]
end
end
p sum
也不行...非常感谢您的帮助!
【问题讨论】:
-
你能发布该方法的预期输出吗?
-
只是元素的总和(整数)
-
“也不起作用”不是一个足够精确的错误描述,我们无法帮助您。 什么不起作用? 如何不起作用?你的代码有什么问题?您收到错误消息吗?错误信息是什么?你得到的结果不是你期望的结果吗?你期望什么结果,为什么,你得到的结果是什么,两者有什么不同?您正在观察的行为不是期望的行为吗?期望的行为是什么,为什么,观察到的行为是什么,它们有何不同?
-
另外,请提供您希望发生的事情的精确规范,包括任何和所有规则、这些规则的例外情况、极端情况、特殊情况、边界案例和边缘案例。请提供示例输入和输出来展示您期望发生的情况,包括在正常情况下以及在所有例外情况、极端情况、特殊情况、边界情况和边缘情况下。单个示例不是规范,单个示例也不足以测试所有边界情况。
-
根据your comment,您问题中示例的结果应为
-62,但您将a solution 标记为正确,结果为0。你不能两全其美。0是正确的或-62是正确的,它们不可能都正确。