遍历偶数位置,然后判断与它相邻的是否为他的情侣,不是的话,遍历接下来的每一个位置,直到找到并交换。
class Solution {
public int minSwapsCouples(int[] row) {
int n = 0;
for(int i=0;i<=row.length-2;i+=2){
int j;
j = row[i]%2==0?row[i]+1:row[i]-1;
if(row[i+1]!=j){
n++;
for(int m = i+2;m<row.length;m++){
if(row[m]==j){
swap(row,m,i+1);
break;
}
}
}
}
return n;
}
private void swap(int[] num, int i, int j){
int temp = num[i];
num[i] = num[j];
num[j] = temp;
}
}