arrays - Ruby - 比较数组和交换索引
问题描述
我有字符串数组和整数数组,它们表示字符串的索引以及它们需要交换的顺序。我需要将索引 X 与以下索引交换,并对下一对数字执行相同操作。
我认为必须有一种方法可以用数字替换字符串的索引并相应地交换字符串位置。
例如:
```
Array = ["A", "B", "C", "D", "E", "F"]
SwapIndexes = [4, 2, 0, 3, 1, 5]
`#=>can also be understood as [4<to>2, 0<to>3, 1<to>5]`
```
输出应该是:
```
NewArray = ["D", "F", "E", "A", "C", "B"]
`#=>Indexes have beem swaped according to each pair of numbers in SwapIndexes`
```
解决方案
输入
Array = ["A", "B", "C", "D", "E", "F"]
SwapIndexes = [4, 2, 0, 3, 1, 5]
代码
SwapIndexes.each_slice(2) do |first, second|
Array[first], Array[second] = Array[second], Array[first]
end
p Array
输出
["D", "F", "E", "A", "C", "B"]
推荐阅读
- java - 两个具有“有”关系的 Java 实体可以使用同一个表吗
- python - 使用布尔列表沿给定维度进行 numpy 索引
- kubernetes - Kubernetes 上的 Apache Ignite 未加入集群
- autocomplete - 自动完成组件可以有不同的值和选项类型吗?
- python - 带有某些值的 Python int 到字节转换错误
- webpack - 我正在尝试使用 laravel mix 和 web pack 编译 sass 和 js
- r - 如何使用 dplyr 管道添加前导零以选择数据框列中的行
- http - SwiftUI HTTP 发布请求
- node.js - 如何在nodejs的服务器端启用像sweetalert这样的验证?
- html - 我想知道这是否不正确。嵌套跨度在标题标签内