输入: [3,4,6,1,3,5,4]
输入是一个具有重复项的未排序数组。请注意,数组的每个元素都小于它的大小。
输出 3,这是第一个重复元素。
我可以很好地使用地图,找出第一个重复元素,但想知道是否有更好的解决方案,因为问题中提到所有数组元素都小于数组。
你能帮忙在javascript中为这个问题提出最佳解决方案吗?感谢。
答案 0 :(得分:2)
最快的可能是
cast
写作最短,类似
var arr = [3,4,6,1,3,5,4];
var first, len=arr.length, i=0;
for (i; i<len; i++) {
if (arr.lastIndexOf(arr[i]) !== i) {
first = arr[i];
break;
}
}
console.log(first)