<script>
//递归+标记
function pailie2()
{let arr=[1,2,3];
const len=arr.length;
let total=0;
let selected=arr.map(_=>false);
let res=[];
let f2=function(n)
{
if(n==len)
{
document.write(`${res}<br />`);
total++;
return;
}
for(let i=0;i<len;i++)
{
if(!selected[i])
{
selected[i]=true;
res[n]=arr[i];
f2(n+1);
selected[i]=false;
}
}
};
f2(0);
document.write(`total2=${total}<br /><br />`);
}
pailie2();
</script>

//递归+标记
function pailie2()
{let arr=[1,2,3];
const len=arr.length;
let total=0;
let selected=arr.map(_=>false);
let res=[];
let f2=function(n)
{
if(n==len)
{
document.write(`${res}<br />`);
total++;
return;
}
for(let i=0;i<len;i++)
{
if(!selected[i])
{
selected[i]=true;
res[n]=arr[i];
f2(n+1);
selected[i]=false;
}
}
};
f2(0);
document.write(`total2=${total}<br /><br />`);
}
pailie2();
</script>
