一旦找到一个重复元素,那么一定就是答案。我们称这个答案为主要元素。
考虑所有长度为 4 的子序列,在子序列中一定至少含有两个主要元素。
这是因为:
长度为 2 的子序列中都是主要元素,或者;
每个长度为 2 的子序列都恰好含有 1 个主要元素,这意味着长度为 4 的子序列一定含有 2 个主要元素。
因此,只需要比较所有距离为 1,2 或者 3 的邻居元素即可。
/**
* @param {number[]} A
* @return {number}
*/
var repeatedNTimes = function(A) {
let k;
for(k = 1; k <= 3; k++) {
for(let i = 0; i < A.length-k; i++) {
if(A[i] === A[i+k]) {
return A[i];
}
}
}
};
网友评论