去某公司面试遇到一个这样的题:“班里有62个学生,学号分别为1-62,新学期随机排座位,要求学号相邻的不能坐在一起”
个人解读:一个数组有1-62个数字,要求随机排序,数字相邻的不能挨在一起。
肯定是遍历啊,遍历一遍可能不会安排完数组里所有的值,所以需要递归调用。为了避免安排完最后剩下两个数61,62所以采取从头尾两次插入的方法。
var arr =new Array(62).fill(0).map((_,k)=>k+1);
function randomSort(arr,target){
if(!Array.isArray(arr) || arr.length==0) return target;
for(var i=arr.length;i>0;i--){
var index = Math.floor