给定每个小于数组大小的元素的数组中的第一个重复元素

时间:2016-10-07 01:50:52

标签: javascript algorithm data-structures

输入: [3,4,6,1,3,5,4]

输入是一个具有重复项的未排序数组。请注意,数组的每个元素都小于它的大小。

输出 3,这是第一个重复元素。

我可以很好地使用地图,找出第一个重复元素,但想知道是否有更好的解决方案,因为问题中提到所有数组元素都小于数组。

你能帮忙在javascript中为这个问题提出最佳解决方案吗?感谢。

1 个答案:

答案 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)