arrays - 旋转 kotlin 数组

标签 arrays kotlin

假设我有一个类似 1 2 3 4 5 的数组, 我想把它向左旋转 并得到一个新的。

例如,上述数组的 2 次旋转将导致 3 4 5 1 2 .我没有找到任何扩展功能来做到这一点。

最佳答案

您可以在 Array<T> 上编写自己的扩展函数

fun <T> Array<T>.leftShift(d: Int): Array<T> {
    val newList = this.copyOf()
    var shift = d
    if (shift > size) shift %= size
    forEachIndexed { index, value ->
        val newIndex = (index + (size - shift)) % size
        newList[newIndex] = value
    }
    return newList
}

关于arrays - 旋转 kotlin 数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52891684/

相关文章:

javascript - 动态添加/删除表单输入 block

php - 计算(设置)PHP 中数组之间的差异?

java - 方法 "contains"的 Kotlin 逻辑转换为 Java 问题

android - 更改Kotlin的色彩

java - 即使使用 -keep,kotlin 类的构造函数中的参数名称也会被 proguard 删除

javascript - Array.push() 和 Spread 语法之间的区别

java - 无法将伪代码翻译为java

c++ - C++中解析数组索引表达式的正则表达式

android - 实时模板在 Kotlin 中不起作用

java - Java 和 C 之间的代码点不匹配