- father::算法
梗概
- 模拟人类划线,发现重复的元素,就把这个元素标记已划掉
- 下次遍历的时候就跳过已被划掉的元素
- 通常是标记元素的索引,而不是值
- 因为可以有重复值,但是不同的元素
实现
function isSame(arr1,arr2){
if(arr1.length!==arr2.length)return false
let mark = new Array(arr2.length).fill(false)
for(let i=0;i<arr1.length;i++){
for(let j=0;j<arr2.length;j++){
if(mark[j])continue;
if(arr2[j]===arr1[i]){mark[j]=true;break;}
}
}
return mark.every(v=>v===true)
}
- base::js 创建指定长度的空数组