通过lastIndexOf()来判断的算法时间复杂度为O(n)的解法

查找重复元素

http://www.nowcoder.com/practice/871a468deecf453589ea261835d6b78b

解题思路: 通过创建一个存放结果的数组 遍历一次数组,通过lastIndexOf()函数来获取该元素值在数组中最后出现的下标值,如果该下标值并不等于当前下标值,说明该值不唯一,加上与&&条件,在将该数存放到结果数组前,判断是否已经存在,已经存在,说明该值在原数组中出现的次数>=3.

{"js":"function duplicates(arr) {
	let result = []
    for(let i = 0 ; i < arr.length ; i++){        
    	if(arr.lastIndexOf(arr[i]) !== i && !result.includes(arr[i])){
        	result.push(arr[i])
        }
    }    
    return result
}"
全部评论

相关推荐

评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务