原始阵列

Array[]={"Car","Truck","Boat"};


随机排列

Array[]={"Truck","Boat","Car"};


不想半拖曳

喜欢

Array[]={"Truck","Car","Boat"};


交换汽车和卡车,但不交换船。

我读过这被称为数组的排列,但是我找不到一个对字符串有帮助的数组。

最佳答案

这是一种生成数组的排列并具有O(n)时间和O(1)空间复杂度的解决方案。

String[] strArray = { "Truck", "Car", "Boat" };

String temp = strArray[0];

for (int i = 0; i < strArray.length - 1; i++) {
    strArray[i] = strArray[i + 1];
}

strArray[strArray.length - 1] = temp;

Arrays.stream(strArray).forEach((e) -> System.out.print(e + " "));


我只是将每个元素向左移动。

这是输出:

Car Boat Truck

10-08 18:40