gpt4 book ai didi

ruby - 返回字符串中的最高和最低数字 : Ruby

转载 作者:行者123 更新时间:2023-12-05 08:15:57 31 4
gpt4 key购买 nike

不确定我做错了什么,但我似乎弄错了。

问题是,给你一串空格分隔的数字,你必须返回最大和最小的数字。

注意:所有数字都是有效的 Int32,不需要验证它们。输入字符串中始终至少有一个数字。输出字符串必须是由一个空格分隔的两个数字,并且最大的数字在前。

def high_and_low(numbers)
# numbers contains a string of space seperated numbers
#return the highest and lowest number
numbers.minmax { |a, b| a.length <=> b.length }


end

输出:

`high_and_low': undefined method `minmax' for "4 5 29 54 4 0 -214 542 -64 1 -3 6 -6":String 

最佳答案

minmax 不是为字符串实现的。您需要先将字符串拆分为数组。但请注意,split 将返回一个字符串数组,而不是数字,您需要在下一步中将字符串转换为整数 (to_i)。

因为 minmax 以与要求相反的顺序返回值,您需要使用 reverse 旋转数组,然后只是 join 这些数字最终结果用空格。

numbers = "4 5 29 54 4 0 -214 542 -64 1 -3 6 -6"

def high_and_low(numbers)
numbers.split.minmax_by(&:to_i).reverse.join(' ')
end

high_and_low(numbers)
#=> "542 -214"

关于ruby - 返回字符串中的最高和最低数字 : Ruby,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63793952/

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