长度为N的数组记录中1-N个数字
将数组中的数从小到大排序
不可以直接赋值

let arr = [1, 6, 3, 2, 9, 10, 11, 4, 7, 5, 12, 8];

let i = 0, temp = 0;
while(temp++ < arr.length) {
  if (arr[i] === i + 1) {
    i ++
  } else {
    const temp = arr[arr[i] - 1];
    arr[arr[i] - 1] = arr[i];
    arr[i] = temp;
  }
}

huajack
0 声望0 粉丝

引用和评论

0 条评论