这是我在这里的第一个问题,我真的不确定我做错了什么,或者它是否可能,我看到它在堆栈溢出时建议,但我不确定它是否适用于我的具体情况。
我在Hackerrank.com上做了一个挑战,它让我输入一个数组(不是一个ArrayList),它要我交换这些项目,直到它们全部按升序排列。
我知道我可以使用临时变量来保存其中一个值并将其交换掉,但我看到有人建议使用Collections.swap,这是我尝试实现它的方法:
for (int i = 0; i < n; i++){
int numSwaps = 0;
for(int j = 0; j < n - 2; j++) {
if(a[j] > a[j+1]) {
Collections.swap(Arrays.asList(a), j,j+1);
numSwaps += 1;
}
totalSwaps += numSwaps;
}
if(numSwaps == 0) {
break;
}
}
我做错了吗?或者这是不可能的事情?
非常感谢!