Ruby编程挑战:如何基于instr指令实现数组索引位置互换
Ruby 根据指令字符串交换数组元素实现方法
核心逻辑分为指令解析、元素交换两步,针对题目给定的"索引 <> 索引"格式指令,实现代码如下:
def swap_by_instruction(arr, instr) # 拆分指令提取两个目标索引,转换为整数 idx_a, idx_b = instr.split(" <> ").map(&:to_i) # 并行赋值交换数组对应位置元素 arr[idx_a], arr[idx_b] = arr[idx_b], arr[idx_a] arr end
调用测试
# 题目给定的初始参数 array = [0, 1] instr = "0 <> 1" # 执行方法 result = swap_by_instruction(array, instr) # 输出结果验证 puts result.inspect # 输出:[1, 0]
说明
如果后续指令格式有扩展(比如分隔符变化、操作符变化),只需要调整指令解析部分的拆分逻辑即可,交换元素的逻辑可以复用。
内容的提问来源于stack exchange,提问作者Edd
相关产品推荐
相关产品推荐

