gpt4 book ai didi

arrays - 在一行中选择数组的第一个和最后一个元素

转载 作者:数据小太阳 更新时间:2023-10-29 07:10:38 28 4
gpt4 key购买 nike

我的任务是从数组中选择最高和最低的数字。我想我很清楚我想做什么,但只是努力以正确的格式访问信息以满足通过标准。

def high_and_low(numbers)
array = numbers.split(" ").map! {|x| x.to_i}
array.sort! {|a,b| b <=> a}
puts array[0, -1]
end

数字可能看起来像 "80 9 17 234 100",要通过,我需要输出 "9 234"。我正在尝试 puts array.first.last,但一直无法弄明白。

最佳答案

Array#minmax完全满足您需要的方法:

array = [80, 9, 17, 234, 100]
array.minmax
#=> [9, 234]

在接受输入并将结果作为字符串返回的 high_and_low 方法上下文中的用法:

def high_and_low(numbers)
numbers.split. # `split` splits at whitespaces per default
map(&:to_i). # does the same as `map { |x| x.to_i }`
minmax. # extracts min and max
reverse. # reverses order to maxmin
join(' ') # joins min and max with a whitespace
end

high_and_low('80 9 17 234 100')
#=> "234 9"

关于arrays - 在一行中选择数组的第一个和最后一个元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33479030/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com